diff options
author | MacroFake <falke.marco@gmail.com> | 2022-11-01 18:22:34 +0100 |
---|---|---|
committer | MacroFake <falke.marco@gmail.com> | 2022-11-01 18:22:53 +0100 |
commit | ca5f8f0de2c6fcf2ac122bd7fbb5a685d5935f71 (patch) | |
tree | 7c3e2a3fd525839858634e2c1fbaca816563595a | |
parent | 067dc42b7995d823666292929c760f7dda602cb7 (diff) | |
parent | 7f2dc610a5ac68c915192bf5df5ad9e7177bf18e (diff) |
Merge bitcoin/bitcoin#26436: [24.x] CI backports
7f2dc610a5ac68c915192bf5df5ad9e7177bf18e ci: Use same `merge_script` implementation for Windows as for all (Hennadii Stepanov)
14784aa02c61ef71f028ef1e61e567d7131f79b9 ci: Move `git config` commands into script where they are used (Hennadii Stepanov)
b1268254bacabbd5e5c783dd06879ea96c327ad8 ci: Use remote pull/merge ref instead of local git merge (MacroFake)
Pull request description:
This PR backports:
- https://github.com/bitcoin/bitcoin/pull/26202
- https://github.com/bitcoin/bitcoin/pull/26236
to avoid CI failures like that:
- https://cirrus-ci.com/task/5653459278495744
- https://cirrus-ci.com/task/6075671743561728
ACKs for top commit:
fanquake:
ACK 7f2dc610a5ac68c915192bf5df5ad9e7177bf18e - backports look correct.
Tree-SHA512: 46b45df8137efd42491dd3ac110c00e6e1bf4ab18a6bbbf68307fe976f391055b1987a22c101060ef5ae8ff1a2b738e197ad579754d1068d78f5eddcd45c7f69
-rw-r--r-- | .cirrus.yml | 18 | ||||
-rwxr-xr-x | ci/lint/06_script.sh | 2 |
2 files changed, 6 insertions, 14 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index ae962f2906..c8ccf6c057 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -24,14 +24,11 @@ filter_template: &FILTER_TEMPLATE base_template: &BASE_TEMPLATE << : *FILTER_TEMPLATE merge_base_script: - # Unconditionally install git (used in fingerprint_script) and set the - # default git author name (used in verify-commits.py) + # Unconditionally install git (used in fingerprint_script). - bash -c "$PACKAGE_MANAGER_INSTALL git" - - git config --global user.email "ci@ci.ci" - - git config --global user.name "ci" - if [ "$CIRRUS_PR" = "" ]; then exit 0; fi - - git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH - - git merge FETCH_HEAD # Merge base to detect silent merge conflicts + - git fetch $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge" + - git checkout FETCH_HEAD # Use merged changes to detect silent merge conflicts main_template: &MAIN_TEMPLATE timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out @@ -117,14 +114,7 @@ task: QT_CONFIGURE_COMMAND: '..\configure -release -silent -opensource -confirm-license -opengl desktop -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -nomake examples -nomake tests -nomake tools -no-angle -no-dbus -no-gif -no-gtk -no-ico -no-icu -no-libjpeg -no-libudev -no-sql-sqlite -no-sql-odbc -no-sqlite -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip doc -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-bearermanagement -no-feature-printdialog -no-feature-printer -no-feature-printpreviewdialog -no-feature-printpreviewwidget -no-feature-sql -no-feature-sqlmodel -no-feature-textbrowser -no-feature-textmarkdownwriter -no-feature-textodfwriter -no-feature-xml' IgnoreWarnIntDirInTempDetected: 'true' merge_script: - - git config --global user.email "ci@ci.ci" - - git config --global user.name "ci" - # Windows filesystem loses the executable bit, and all of the executable - # files are considered "modified" now. It will break the following `git merge` - # command. The next two commands make git ignore this issue. - - git config core.filemode false - - git reset --hard - - PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL $env:CIRRUS_BASE_BRANCH; git merge FETCH_HEAD; } + - PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL pull/$env:CIRRUS_PR/merge; git checkout FETCH_HEAD; } msvc_qt_built_cache: folder: "%QTBASEDIR%" reupload_on_changes: false diff --git a/ci/lint/06_script.sh b/ci/lint/06_script.sh index 1f14dd079f..4506848740 100755 --- a/ci/lint/06_script.sh +++ b/ci/lint/06_script.sh @@ -31,6 +31,8 @@ if [ "$CIRRUS_REPO_FULL_NAME" = "bitcoin/bitcoin" ] && [ "$CIRRUS_PR" = "" ] ; t git log HEAD~10 -1 --format='%H' > ./contrib/verify-commits/trusted-sha512-root-commit git log HEAD~10 -1 --format='%H' > ./contrib/verify-commits/trusted-git-root mapfile -t KEYS < contrib/verify-commits/trusted-keys + git config user.email "ci@ci.ci" + git config user.name "ci" ${CI_RETRY_EXE} gpg --keyserver hkps://keys.openpgp.org --recv-keys "${KEYS[@]}" && ./contrib/verify-commits/verify-commits.py; fi |