On 03/03/16 16:14, Martin Lucina wrote:
Hi,

I've implemented Travis CI builds for rumprun-packages. After fixing
trivial issues with some packages, all[1] packages except openmp are building.
See the latest results here:

https://travis-ci.org/rumpkernel/rumprun-packages

Awesome.

Notes for maintainers / new package authors: (I'll add these to README
shortly)

1) When adding, removing or renaming a package ensure that you make the
corresponding update in .travis.yml.

Sounds a bit backwards to have the master list in .travis.yml. Could we instead have a top-level Makefile, and Travis would pick up the packages from there? Some blacklisting feature might be necessary.

A top-level Makefiles (or a similar construct) would be useful for "bulk builds", for cases where someone wants to locally build all packages.

2) If your package requires any additional host dependencies to build which
are not installed in the Travis "trusty" CI environment, you will also need
to modify .travis-install.sh and add the appropriate "sudo apt-get
install".

IMO we should not encourage host dependencies. Even the current ones are not really optimal, but someone would have to fix them, and the value of autobuild by far outweighs the "incorrectness".

[3] There is one trivial external dependency, which is the shell script
running as a cron job on my server to trigger the builds using the API
calls documented above. I can send a copy of this to the list if anyone
wants it.

I'd much rather see the script committed to rumprun-packages, e.g. to a directory called "_meta" (or whatever better name someone can come up with).


I think we now need a policy for packages which do not build -- I don't want to perpetually advertise a broken build in case there's a package that nobody wants to fix in a reasonable amount of time. We could just mark a package broken the first time it fails to build, file an issue, and remove the broken tag once the package is suspected to be fixed; rinse+repeat. The fancier option to list packages which are known to be broken and don't affect the 0/1 build result, but nonetheless we keep on building the broken package. The latter gives us finer-grained detection of regressions, but requires more work. I'd just go with the first option for now. Thoughts?


Enjoy,

Thank you!

Reply via email to