This moves all environment settings from travis to files in the ci folder. Now, it is possible to easily run each travis configuration with a single command.
ci: Add environment files for all settings #16623
pull MarcoFalke wants to merge 1 commits into bitcoin:master from MarcoFalke:1908-ciEnv changing 14 files +166 −65-
MarcoFalke commented at 8:52 PM on August 15, 2019: member
- MarcoFalke force-pushed on Aug 15, 2019
- MarcoFalke force-pushed on Aug 15, 2019
- MarcoFalke force-pushed on Aug 15, 2019
- DrahtBot added the label Docs on Aug 15, 2019
- DrahtBot added the label Tests on Aug 15, 2019
-
promag commented at 11:51 PM on August 15, 2019: member
This approach pollutes the calling bash environment. Should work without
export?Concept ACK.
-
DrahtBot commented at 12:27 AM on August 16, 2019: member
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
- #16392 (WIP build: macOS toolchain update by fanquake)
- #16161 (util: Fix compilation errors in support/lockedpool.cpp by jkczyz)
- #15584 (build: disable BIP70 support by default by fanquake)
- #12134 (Build previous releases and run functional tests by Sjors)
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.
-
in .travis.yml:139 in e5ada9ad16 outdated
196 | - OSX_SDK=10.11 197 | - RUN_UNIT_TESTS=false 198 | - RUN_FUNCTIONAL_TESTS=false 199 | - GOAL="deploy" 200 | - BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror" 201 | + FILE_ENV="./ci/test/00_setup_env_mac.sh"
fanquake commented at 1:07 AM on August 16, 2019:Should this be
00_setup_env_amd64_mac? There's no00_setup_env_mac.shfile.
MarcoFalke commented at 1:19 PM on August 16, 2019:Fixed
MarcoFalke force-pushed on Aug 16, 2019MarcoFalke force-pushed on Aug 16, 2019MarcoFalke force-pushed on Aug 16, 2019MarcoFalke force-pushed on Aug 16, 2019fanquake commented at 4:14 AM on August 16, 2019: memberConcept ACK
I'll run through each of the different ENV builds locally. Have done
amd64_asanandamd64_qt5so far.For a future change / discussion, it'd be handy if the Docker containers were named.
amd64_qtis more useful thanpeaceful_rubinonce there are a bunch floating around.Also, maybe we could stop (although not destroy) containers automatically after successful completion of the tests?
ci: Add environment files for all settings fa21737ba7MarcoFalke force-pushed on Aug 16, 2019MarcoFalke commented at 1:12 PM on August 16, 2019: memberThis approach pollutes the calling bash environment.
Can you explain what command exactly does that? I can't find any.
It will potentially pollute your ccache dir and the git repo with build artifacts, but that has nothing to do with bash.
MarcoFalke commented at 1:20 PM on August 16, 2019: memberGood suggestions @fanquake. I'll probably leave those as follow-up features that can be added.
Sjors commented at 5:13 PM on August 17, 2019: memberACK. I would find it easier if the new files were numbered the same as its equivalent Travis machine.
Recipe to verify the move:
- delete
exportfromci/test/00_setup_env_* git commit -a --amendgit show --color-moved=dimmed-zebra --color-moved-ws=allow-indentation-change
I tried (cloned in /home/travis/bitcoin):
cd bitcoin FILE_ENV="./ci/test/00_setup_env_amd64_qt5.sh" ./ci/test_run_all.shThis fails at the configure step:
travis_fold:start:configure configure: loading site script /home/travis/bitcoin/depends/x86_64-unknown-linux-gnu/share/config.site configure: loading cache config.cache configure: error: `CXXFLAGS' was not set in the previous run configure: error: `CFLAGS' was not set in the previous run configure: error: in `/home/travis/bitcoin/build': configure: error: changes in the environment can compromise the build configure: error: run `make distclean' and/or `rm config.cache' and start over ... configure:2987: loading cache config.cache configure:3014: error: `CXXFLAGS' was not set in the previous run configure:3014: error: `CFLAGS' was not set in the previous run configure:3051: error: in `/home/travis/bitcoin/build': configure:3053: error: changes in the environment can compromise the build configure:3055: error: run `make distclean' and/or `rm config.cache' and start over ... configure: exit 1It may have gotten poluted from a previous run, so I tried purging docker instances and nuking the git repository:
docker stop $(docker ps -a -q) docker container prune git clean -dfxNow it runs. Because Docker has root privileges, things very quickly turn into permission hell if you try to run more than one instance.
As a followup, it would be nice if you can run all configurations with a single command (stopping if any fails).
MarcoFalke referenced this in commit 8b42db130f on Aug 19, 2019MarcoFalke commented at 1:41 PM on August 19, 2019: memberNow it runs. Because Docker has root privileges, things very quickly turn into permission hell if you try to run more than one instance.
You can't run more than one ci instance on the repo at the same time.
As a followup, it would be nice if you can run all configurations with a single command (stopping if any fails).
I'll leave this as follow-up ;)
MarcoFalke merged this on Aug 19, 2019MarcoFalke closed this on Aug 19, 2019MarcoFalke deleted the branch on Aug 19, 2019Sjors commented at 2:22 PM on August 19, 2019: memberYou can't run more than one ci instance on the repo at the same time.
I was running them in sequence.
MarcoFalke commented at 2:25 PM on August 19, 2019: memberThat should work as long as you run
sudo git clean -dffx(at your own risk, obviously)sidhujag referenced this in commit c8c01c9091 on Aug 19, 2019kittywhiskers referenced this in commit 18646ee093 on Dec 13, 2021kittywhiskers referenced this in commit 5335524130 on Dec 13, 2021MarcoFalke locked this on Dec 16, 2021Contributors
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:14 UTC
More mirrored repositories can be found on mirror.b10c.me