-
Notifications
You must be signed in to change notification settings - Fork 35.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: Use hard-coded root path for CI containers (bugfix) #28185
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsNo conflicts as of last run. |
fa69d29
to
2a1d9b3
Compare
2a1d9b3
to
dddd8af
Compare
I rebased this on a commit by @fanquake to fix another bug, which I am not sure how it happened.
The same seemingly happened with msan, so instead of debugging further, I just did the same changes to msan in faa3186 to work around the bugs and clarify the code in any case. |
22fe27e
to
dddd8af
Compare
Using a hard-coded path avoids non-determinism issues and improves CI UX.
Now that container volumes are used, the folders are no longer mounted. They are only needed when running without a container engine (docker, podman).
dddd8af
to
fafa17c
Compare
Rebased on master to drop already merged bugfix commit d86a83d. |
I used the commands in the pull request description to re-test this is still a bugfix on current master. |
Are there any real-life use cases for this scenario? |
Yes, Cirrus CI persistent workers, and potentially GitHub (or other's) persistent workers (haven't checked). Example: https://cirrus-ci.com/task/5714733521698816?logs=ci#L4307 |
Concept ACK. |
Also, a developer may be moving the git folder at any time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fafa17c - somewhat tested. MSAN changes are the same as what we did for tidy.
…bugfix) fafa17c ci: Use hard-coded root path for CI containers (MarcoFalke) fa084f5 ci: Only create folders when needed (MarcoFalke) fab2712 ci: Drop BASE_SCRATCH_DIR from LIBCXX_DIR (MarcoFalke) Pull request description: Currently the CI system will fail if the git folder that holds the Bitcoin Core source is moved from one location to another. Fix this by using a single hard-coded root path *inside* the CI system containers. Steps to test: * Run the CI system: `MAKEJOBS="-j$(nproc)" FILE_ENV="./ci/test/00_setup_env_win64.sh" ./ci/test_run_all.sh` * Move the git folder: `pwd && cd .. && mv bitcoin_core_folder_1 bitcoin_core_folder_2 && cd ./bitcoin_core_folder_2 && pwd` * Run the CI system again: (same cmd as above) On master (error): ``` STRIPPROG="x86_64-w64-mingw32-strip" /bin/bash /bitcoin_core_folder_2/ci/scratch/build/bitcoin-x86_64-w64-mingw32/build-aux/install-sh -c -s ./src/qt/bitcoin-qt.exe ./release /bitcoin_core_folder_2/ci/scratch/build/bitcoin-x86_64-w64-mingw32/build-aux/install-sh: ./src/qt/bitcoin-qt.exe does not exist. make: *** [Makefile:1258: bitcoin-25.99.0-win64-setup.exe] Error 1 ``` On this pull: (pass). ACKs for top commit: fanquake: ACK bitcoin@fafa17c - somewhat tested. MSAN changes are the same as what we did for tidy. Tree-SHA512: 2ce693a3773c70fcfca062c2a6f0e5a16b94960b34a6145d10cee1a28f79154829d59d014465ccbb80e1cb9dcd5aa043729cee9afd2c4175b05e9bc945364b79
Currently the CI system will fail if the git folder that holds the Bitcoin Core source is moved from one location to another.
Fix this by using a single hard-coded root path inside the CI system containers.
Steps to test:
MAKEJOBS="-j$(nproc)" FILE_ENV="./ci/test/00_setup_env_win64.sh" ./ci/test_run_all.sh
pwd && cd .. && mv bitcoin_core_folder_1 bitcoin_core_folder_2 && cd ./bitcoin_core_folder_2 && pwd
On master (error):
On this pull: (pass).