forked from github/verilator
6ddd92c0a1
Change the Travis builds to use workspaces and persistent ccache We proceed in 2 stages (as before, but using workspaces for persistence): 1. In the 'build' stage, we clone the repo, build it and save the whole checkout ($TRAVIS_BUILD_DIR) as a workspace 2. In the 'test' stage, rather than cloning the repo, multiple jobs pull down the same workspace we built to run the tests from This enables: - Reuse of the build in multiple test jobs (this is what we used the Travis cache for before) - Each job having a separate persistent Travis cache, which now only contains the ccache. This means all jobs, including 'build' and 'test' jobs can make maximum use of ccache across runs. This drastically cuts down build times when the ccache hits, which is very often the case for 'test' jobs. Also, the separate caches only store the objects build by the particular job that owns the cache, so we can keep the per job ccache small. If the commit message contains '[travis ccache clear]', the ccache will be cleared at the beginning of the build. This can be used to test build complete within the 50 minute timeout imposed by Travis, even without a persistent ccache. |
||
---|---|---|
.. | ||
docker | ||
travis-ccache-maint.bash | ||
travis-ccache-size.bash | ||
travis-install.bash | ||
travis-script.bash |