Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Travis CI: Stages, OS update, apt-get relief! #9844
A rather large refactor of Travis CI.
PR will be squashed and cleaned up tomorrow, along with the addition of Release Notes.
Pull request type
Travis CI's testing config has been updated with some readability and performance improvements in mind.
Build stages have been added, which helps group similar jobs according to function.
Build stages also enocourage greater build parallelism by limiting the number of concurrent build jobs that a single PR can have, allowing multiple PRs to be tested in parallel instead of wauting in a build queue.
Finally, batching jobs into build stages allows for better job configuration. Some jobs that shouldn't have taken long were doing unneccesary actions such as downloading packages or installing python modules, which has now been corrected.
Python 3.7 by default
Jobs that require Python to run now use Py37 by default.
The Linux VM that runs tests has been updated to use Xenail, Travis CI's latest supported Linux OS.
Minimal apt-get usage
A major pain point would occur when a job would fail because the VM failed to run
Common functions such as downloading packages or updating a job's status have now been collected into a single bash function. No strage shell invocations need to be done in order to use them which was not the case before.