From owner-freebsd-ruby@freebsd.org Fri Aug 4 14:04:57 2017 Return-Path: Delivered-To: freebsd-ruby@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18034DAE7E4 for ; Fri, 4 Aug 2017 14:04:57 +0000 (UTC) (envelope-from tz@FreeBSD.org) Received: from toco-domains.de (mail.toco-domains.de [176.9.39.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4D946992B; Fri, 4 Aug 2017 14:04:56 +0000 (UTC) (envelope-from tz@FreeBSD.org) Received: from [0.0.0.0] (mail.toco-domains.de [IPv6:2a01:4f8:150:50a5::6]) by toco-domains.de (Postfix) with ESMTPA id ACB061AAF058; Fri, 4 Aug 2017 16:04:47 +0200 (CEST) Subject: Re: [Stage-QA] Gemfile-Check - WIP To: Nikolai Lifanov , freebsd-ruby@freebsd.org References: <5a229e15-44b8-a941-7aa1-d6df667b744f@FreeBSD.org> From: Torsten Zuehlsdorff Message-ID: <596ca897-f1ef-aa75-a23b-dec3f431c391@FreeBSD.org> Date: Fri, 4 Aug 2017 16:04:42 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ruby@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: FreeBSD-specific Ruby discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Aug 2017 14:04:57 -0000 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