Changes to Travis CI and way foward

110 views
Skip to first unread message

Thomas Robitaille

unread,
Nov 15, 2020, 2:48:55 AM11/15/20
to astropy-dev mailing list
Hi everyone,

Some of you may have noticed a lot of activity in the astropy organization on GitHub around continuous integration configuration in the last few days, so I just wanted to give a quick heads-up about this.

On 2nd November, Travis CI announced that they would, with immediate effect, move all free/open source users of Travis CI to a trial plan with a one-off allocation of 1000 minutes of Linux build time, but that beyond that they would start charging for any usage:


As you can imagine, this is extremely disruptive for us since 1000 minutes wouldn't get us very far (a few typical builds of the core package), and it also doesn't include Mac/Windows builds which we rely on. After reaching out to them, they allocated us additional (one-off) credits which we burned through in a few days. Given that their pricing model would be very expensive for the project, those of us maintaining infrastructure have made the decision to switch to using GitHub Actions as our main CI provider (though we will keep some CircleCI and Azure builds where this makes sense for now).

The core package as well as some of the other packages (e.g photutils, pytest plugins) have now been migrated over to GitHub Actions, and once we are happy with how things are set up we will update the package template to provide an example configuration. In the meantime if you are interested in migrating packages you maintain, looking at e.g. photutils will provide a good example of how things are set up.

This is of course all very frustrating in that it is causing is to spend time trying to unbreak the CI rather than work on other things, and the way Travis CI have handled the transition has been abysmal (effectively providing us with only a few day notice). However this is a harsh reminder that this can happen when relying on free services and that it could well happen again in future. In this case, things were made easier by our migration last year to using tox which meant that a lot of aspects of the test environments are now coded up in a way that is independent of CI provider.

Thanks to everyone who has been helping with this transition To Actions across the project - especially Pey-Lian Lim, Simon Conseil, and Brigitta Sipocz who handle a large fraction of the infrastructure work in the project and keep things running!

Cheers,
Tom


Derek Homeier

unread,
Nov 16, 2020, 10:52:38 AM11/16/20
to astro...@googlegroups.com

> On 15 Nov 2020, at 8:48 am, Thomas Robitaille <thomas.r...@gmail.com> wrote:
>
> Thanks to everyone who has been helping with this transition To Actions across the project - especially Pey-Lian Lim, Simon Conseil, and Brigitta Sipocz who handle a large fraction of the infrastructure work in the project and keep things running!
>
Big kudos to y’all for moving this over with almost no work time lost for other contributors!

I have a possibly naïve question about the setup of the Actions tests:

1. I am now getting GitHub notifications on Daily and Weekly results of these tests, apparently run against
my own master branch, as well as

2. an additional test report on a run that seems to have started as soon as my topical branch has been pushed - e.g. https://github.com/dhomeier/astropy/actions/runs/366206465
as compared to
https://github.com/astropy/astropy/pull/11048/checks?check_run_id=1406957354
for the resulting PR. The earlier one seems not to have been run in the full test environment and failed on the initial tests.

#1 may be my own fault due to still having a private checkout of the master branch; I can look into
finally getting rid of this, and it seems as nothing will happen as long as I do not push to it anyway.

#2 looks not quite like the way Actions are intended to be run, but I cannot see anything unorthodox in the
way I created and pushed my local branch here. Of course the notifications are easy enough to ignore,
but if possible I’d like to avoid the unneeded runs entirely, even if it’s < 10 minutes in total.

Cheers,
Derek

Erik Tollerud

unread,
Nov 17, 2020, 12:27:39 PM11/17/20
to astro...@googlegroups.com
Hello all,

One follow-up on this topic: while we got a bit more credits from Travis-CI as part of a "FOSS allotment", we've already run through that. So to address the possible *immediate* need of a stopgap while transitioning as outlined in Tom's message, the interim finance committee has set aside some funding to use for additional Travis credits. So if you're maintaining a package (affiliated or coordinated) and are out of CI credits from Travis, please either respond here, email fin...@astropy.org or reach out in the #infrastructure slack channel. 

Note that this is *not* intended as a long term solution, but only as a stopgap for maintainers who might need a bit of time to figure out how to adapt all the work the infrastructure folks mentioned above to their particular package. We don't have the funding to keep this long-term, but exact amounts can be dealt with on a case-by-case basis depending on your maintainer bandwidth to complete the transition.

Also note that if anyone does ask for this, we'll have to turn travis off for all the other projects to be able to be "targeted" in the spending.  It's not really a change since we're already out of credits, but don't be surprised to find travis has been turned off if you haven't asked about the above.

---
Erik T


--
You received this message because you are subscribed to the Google Groups "astropy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to astropy-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/astropy-dev/F2874279-70EA-479B-8549-75B91573A390%40astro.physik.uni-goettingen.de.

Pey Lian Lim

unread,
Feb 5, 2021, 12:11:49 PM2/5/21
to astropy-dev
To whom it may concern,

To close the loop on this, I am happy to announce that Astropy has migrated most of its org packages and infrastructure from Travis CI to GitHub Actions. There are a few stragglers, all of which are currently inactive, and they will be handled as needed going forward. In addition to GitHub Actions, we are also still using CircleCI and Azure Pipelines, where they make sense.

However, we no longer rely on ci-helpers or conda in the CI.

Sincerely,
Pey Lian

Reply all
Reply to author
Forward
0 new messages