On Saturday, 3 March 2018 at 06:39:42 UTC, Nick Sabalausky (Abscissa) wrote:
On 03/02/2018 02:24 AM, Jacob Carlborg wrote:

Travis CI allows you to specify a D compiler in the following ways:

* <compiler> - the latest version of the specified compiler
* <compiler>-beta - the latest beta
* <compiler>-nightly - the nightly build
* <compiler>-<version> - a specific version of the compiler

Where <compiler> is "dmd", "ldc" or "gdc".

Combine the above with a scheduled build that builds once every day you're pretty well covered. For an example, see the Travis CI configuration for DStep [1]. I'm building the latest version of DMD and LDC on Linux and macOS, but the betas and nightly are only built on Linux, due the the limited resources of macOS builds on Travis CI.

[1] https://github.com/jacob-carlborg/dstep/blob/master/.travis.yml


Certainly a possible approach, but has downsides:

- Maybe there's a simple setting I've overlooked, but when a build job fails on travis, the author does not get proactively notified. The author only finds out next time they go into travis. (I've been surprised many times to discover failed builds that had occured several days ago, or more.)

I receive emails from them, after it broke, each time it builds and that the build is not repaired and finally a last one when the build is repaired.
I've just checked and there is no settings to activate this.

- A project author will still need to: 1. Actively notice new compiler releases and 2. Manually update the .travis.yml files for each of their projects. Certainly there's room for more automation here.

- Except when "nightly" is desired, this leads to many unnecessary redundant builds/tests, especially across all the various D projects. (Though I don't know how much that would matter on travis. Maybe it'd be a drop in their bucket.)

I agree. "Nightly" is useful but "beta" not, or rather _not always_. "beta" is useful when there's a new beta and until it get released (usually 2-3 weeks), after what this wastes computing resources.

Reply via email to