tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Automated pkgsrc commit testing
Hi Jonathan!
On Tue, Jul 23, 2024 at 03:53:38PM +0100, Jonathan Perkin wrote:
> In another attempt to improve the quality of what is committed to pkgsrc,
> I've spent the last few days implementing an automated testing rig on
> GitHub.
Wow, that's a really neat tool!
> The idea is that you submit a pull-request to the repository I've set up,
> and it will run a suite of automated checks against your PR. You can then
> either modify the change in response to any failures and re-test, or
> continue and commit to pkgsrc with increased confidence that you won't cause
> regressions.
>
> Here is what I've implemented so far.
>
> * The commit message is checked to conform to our current standards,
> i.e. "pkg: description" in the first line, limited to 50 characters,
> followed by a blank line, followed by further details with lines
> limited to 80 characters.
>
> * pkglint runs against all files that you touch. Roland kindly added
> the -Werror flag to pkglint 23.5.0 so that this check will fail if
> there are any warnings.
Does it expect it to be pkglint clean, or just not worse than before?
There are some cases where we cannot make a package pkglint clean, e.g.
ERROR: gmake/options.mk:13: "../../devel/gettext-lib/builtin.mk" must not be included directly. Include "../../devel/gettext-lib/buildlink3.mk" instead.
> * The following platforms will build test your change:
>
> Cygwin 3.5.3 running on Windows 2022 x86_64
> FreeBSD 14.1 x86_64
> NetBSD 10.0 x86_64
> OmniOS r151050 x86_64
> OpenBSD 7.5 x86_64
> Ubuntu 22.04 x86_64
> macOS 13 x86_64
> macOS 14 arm64
>
> Notably the NetBSD builds run with non-standard settings for
> PREFER_PKGSRC, PKGINFODIR, and PKGMANDIR, as these are commonly
> broken due to commits only being tested with default NetBSD settings
> (see e.g. devel/py-gi-docgen failures highlighted by pkgsrc-bulk for
> the last few weeks that have gone unfixed).
This is another discussion, but I think we should not assume that
committers read all pkgsrc-bulk emails, so forwarding of such issues
to pkgsrc-users or the committer(s) is probably a good idea.
> The BSD runner that I'm using does support arm64 guests, but due to
> virtualisation overhead I disabled them for now as they're just too
> slow to be of practical use. Hopefully in the future they can run on
> native arm64 hardware.
>
> If any of these steps result in failure you'll get an email. For the commit
> message and pkglint checks you can view the failure via the web interface,
> and for the build tests you can download an archive containing the build
> logs and bmake output.
>
> As an example, here's a pull request I made where I deliberately broke the
> build on SunOS:
>
> https://github.com/pkgsrc-ci/pkgsrc/actions/runs/10060356402
>
> I've also implemented a workflow for pre-building packages and storing them
> on an MNX-hosted server. The example PR above uses this cache so that
> dependent packages are installed using DEPENDS_TARGET=bin-install and
> drastically cuts down on build time. I'll be populating the cache further
> over time (it's currently running meta-pkgs/bulk-large).
>
> Due to the state of pkgsrc trunk right now, this is currently based on the
> 2024Q2 branch, with a couple of changes I've made to fix bootstrap on Cygwin
> and OpenBSD.
What is the 'state of pkgsrc trunk'?
> If you would like to get involved, have access to the GitHub org, have any
> questions, or have suggestions on any other tests you'd like me to implement
> (or implement yourself), please let me know.
Please add me: 0-wiz-0
Thanks,
Thomas
Home |
Main Index |
Thread Index |
Old Index