Running the ci completely in a docker, without leaving any traces on the host system is not possible right now because the ccache and depends dir needs to be propagated back and picked up by the host for caching.
Fixes #17372
Running the ci completely in a docker, without leaving any traces on the host system is not possible right now because the ccache and depends dir needs to be propagated back and picked up by the host for caching.
Fixes #17372
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
Concept Ack!
I know nothing about docker but Concept ACK, making things that can be made read-only read-only tends to be a good idea both for determinism and to avoid build steps generating clutter in unexpected places.
This should be easy to review. All it does it add some DOCKER_EXEC, which means "execute everything that follows in this line in our docker thing". Also, it mounts the source dir readonly into the docker.
@JeremyRubin you brought this up, can you please give a tested ACK?
It was on my list of thing to improve either way. A code review should be sufficient, it is really straightforward. (And travis is testing it to some extend already)
Testing now...
Looks like you still need to run a make distclean before running? Would there be any reason to not have travis (now that it's RO on host) run make distclean first in case it's a dirty dir?
tested ACK fa7523d3aa75b0266015af59901c2397b52265b5
Ran make distclean and FILE_ENV=ci/test/00_setup_env_amd64_trusty.sh ./ci/test_run_all.sh
and was able to re-run
./autogen.sh && ./configure && make without hitting permissions errors.
Would prefer, as noted, if the distclean could happen in the copied dir.
Thanks for testing. I've merged this and left the suggestion as a follow up, see #17544.