Hi all, We have just completed a migration from using Travis as our CI system to using Github Actions. This was discussed in several issues and pull requests but the main motivation is here: https://github.com/sympy/sympy/issues/20374
I don't know how long SymPy has been using Travis but they have given us a fantastic service (free of charge) for many years. We should definitely be thankful to them for the huge expense that they have provided in CPU cycles that we have depended on as part of testing the correctness of any proposed changes to the main SymPy codebase. Travis' model for providing services to open source projects has changed though and it does not look like the new version of their service would be usable for SymPy. Although the main changes in Travis' service were due to kick in at the end of 2020 it seems that they began winding down their provision of the old service in advance of that which meant that we needed to switch ASAP. Slowdowns in CI contributed to the delay of the 1.7 release and then made it difficult to keep contributions to SymPy ticking over after the release. The situation became urgent and there wasn't much time to discuss possible alternatives to Travis but Github Actions seemed an obvious choice so in the little time I had I built a new CI config for Actions here: https://github.com/sympy/sympy/blob/8b2b7e4c616677e054d01e997ab940b3150aa89d/.github/workflows/runtests.yml Today I have disabled Travis from running on pull requests (it will still run on the master branch after a PR is merged). I have also made the Actions jobs "required" so that a PR can not be merged unless it passes the tests on Github Actions. That mostly completes the migration to Actions but I'm sure that there will be more teething problems or things that I've missed. For a while now it may be necessary to close and reopen PRs when reviewing to make sure they run under the new CI. Any PR that previously failed on Travis will still show with a red "fail" cross even if subsequent changes have fixed any errors (Travis will not run again after changes now). The PR will be mergeable if the tests have passed under Actions but it will still show as having "failed" in Travis. This also applies to any of the most recently pushed PRs for which I cancelled the Travis build (Github shows a cancelled Travis build as having "failed"). In the short term when reviewing a PR: 1) Close and open to rerun the tests under the new CI 2) Ignore any report of failure from Travis Also could reviewers please pay careful attention to Actions and the output of the different test jobs for a while? It is very likely that I have overlooked something in the migration so that the codebase is not as rigorously tested as it was before and some things that should fail might pass. This is why changes to CI are risky and need careful review. There hasn't been as much time as I would like to test out the new CI in parallel with the old. Finally having worked with both the Travis and Actions CI systems I can say that I think this is an improvement in the long term. The config format for Actions is significantly better (I hated editing the .travis.yml and test_travis.sh files!) but also right now Actions are giving us much more computing power than Travis ever did. We should still focus on reducing the time taken to run the tests but it's good that we now have a system that has more capacity to run our extremely slow test suite. Oscar -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxTUqPWFLxmgdCE-Pba1_n%2BNFTcX7kTA%2B3GU7B5Sv6prJg%40mail.gmail.com.
