aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMacroFake <falke.marco@gmail.com>2022-11-01 18:22:34 +0100
committerMacroFake <falke.marco@gmail.com>2022-11-01 18:22:53 +0100
commitca5f8f0de2c6fcf2ac122bd7fbb5a685d5935f71 (patch)
tree7c3e2a3fd525839858634e2c1fbaca816563595a
parent067dc42b7995d823666292929c760f7dda602cb7 (diff)
parent7f2dc610a5ac68c915192bf5df5ad9e7177bf18e (diff)
downloadbitcoin-ca5f8f0de2c6fcf2ac122bd7fbb5a685d5935f71.tar.xz
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.yml18
-rwxr-xr-xci/lint/06_script.sh2
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