Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Aug 2017 16:04:42 +0200
From:      Torsten Zuehlsdorff <tz@FreeBSD.org>
To:        Nikolai Lifanov <lifanov@FreeBSD.org>, freebsd-ruby@freebsd.org
Subject:   Re: [Stage-QA] Gemfile-Check - WIP
Message-ID:  <596ca897-f1ef-aa75-a23b-dec3f431c391@FreeBSD.org>
In-Reply-To: <af4bc3fd-57c6-6501-a216-72282e5ec949@FreeBSD.org>
References:  <5a229e15-44b8-a941-7aa1-d6df667b744f@FreeBSD.org> <af4bc3fd-57c6-6501-a216-72282e5ec949@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On 04.08.2017 15:48, Nikolai Lifanov wrote:
> On 8/4/17 8:51 AM, Torsten Zuehlsdorff wrote:
>> Aloha,
>>
>> inspired by lifanov and his work in PR 220605 to add a check for
>> .gemspec of rubygems i tried myself with Gemfile.
>>
>> Background is, that checking the actual Gemfile of non rubygem-* ports
>> is often very time-consuming. When building Gitlab, Redmine or others,
>> everything is fine. But when executing they fail - because the Gemfile
>> is not satisfied.
>>
>> Its WIP and my first try for an stage-qa script, so every comment is
>> appreciated. It adds a stage-qa stage for every non rubygem- port. When
>> executed i (intent) to scan for Gemfiles and checking every file with
>> bundle check. If bundle fails, the stage-qa fails.
>>
>> It worked for simple test. If no Gemfile was present the test was
>> skipped. If it is, bundle is executed. When removing a needed dependency
>> it is found. Its also found when the dependency is indirect (not in
>> Gemfile itself, but a dependency of an dependency listed there).
>>
>> But it don't work for net-im/mikutter for example and i don't know why.
>>
>> So any feedback would be fine! :)
>>
>> Greetings,
>> Torsten
>>
> 
> Hi!
> 
> I think for something like this, a better initial approach is to make
> this stage-qa target non-fatal, so warnings instead of errors.
> 
> At least initially it will cause less disruption and give porters an
> opportunity to fix the errors.

Or we fix all issues before submitting - because the ports are broken if 
this fails. The could not be used in any way.

> I have two thoughts on it so far:
> 
> $(find ${STAGEDIR} -name Gemfile) is pretty heavy to do on every port.
> Can we export something to QA_ENV from USE_RUBY and check for this instead?

I would like to make it optional, but i have no idea how

> Is "bundle" guaranteed to be installed for ports that ship a Gemfile?

No.

> Otherwise, it looks good and only has minor nits. Can we move this to
> Phabricator? This will make it easier to review and iterate on.

I was in doubt it is already good enough for a review. But here we go:
https://reviews.freebsd.org/D11865

Greetings and thanks,
Torsten
-- 
Support me at:
https://www.patreon.com/TorstenZuehlsdorff



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?596ca897-f1ef-aa75-a23b-dec3f431c391>