aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
AgeCommit message (Collapse)Author
2021-11-25ci: Always run merge_base_script first for consistencyHennadii Stepanov
2021-11-25ci: Revamp Android SDK cache, and update it timelyHennadii Stepanov
2021-11-25ci: Make macOS SDK cache independent, and update it timelyHennadii Stepanov
2021-11-21build: don't check for deprecated berkeley-db4 packagefanquake
Fixes: ```bash checking for brew... brew Warning: Use berkeley-db@4 instead of deprecated berkeley-db4 ```
2021-11-16ci: Rework ci task namesMarcoFalke
2021-11-16Merge bitcoin/bitcoin#23504: ci: Replace soon EOL hirsute with jammyfanquake
fafa66e424cd0c4a4ac3175e0d3b15a54626aa4b ci: Replace soon EOL hirsute with jammy (MarcoFalke) Pull request description: `hirsute` will be EOL in about 1.5 months, at which point the package servers may be shut down. Avoid this by hopping to the next LTS release 22.04 (Jammy Jellyfish). While the release is currently in development, it seems unlikely that anything will break for us. I am doing the hirsute->jammy hop to avoid a hirsute->impish->jammy hop, but if anything does break, we can fall back to that "double hop". ACKs for top commit: fanquake: ACK fafa66e424cd0c4a4ac3175e0d3b15a54626aa4b Zero-1729: crACK fafa66e424cd0c4a4ac3175e0d3b15a54626aa4b Tree-SHA512: a3626b72519c7f54f260477d04265321af7aefe25cc2a7d653dba77f79caca10db3a6aa4249a934184dcdc99832f6b4c6e50330d7630e58720ab0aba3624ab8a
2021-11-15ci: Drop --failfast in functional tests on native Windows CI taskHennadii Stepanov
2021-11-13ci: Replace soon EOL hirsute with jammyMarcoFalke
2021-10-22ci: Add vcpkg tools cacheHennadii Stepanov
This change avoids downloading of the cached vcpkg tools that could fail accidentally, and it makes CI task more robust.
2021-10-20ci: Improve vcpkg binary cache settingsHennadii Stepanov
This change comes with two improvements: 1) using the VCPKG_DEFAULT_BINARY_CACHE variable drops dependency on vcpkg default cached archives location, and improves readability 2) two obvious cases when binary cache is invalidated are defined, that guaranties it won't grow boundlessly when, for example, vcpkg has being updated.
2021-10-20ci, refactor: Rename VCPKG_TAG variable and vcpkg_cache scriptHennadii Stepanov
The VCPKG_TAG variable renamed to CI_VCPKG_TAG to prevent any possible name clash with vcpkg-specific variables. The vcpkg_cache script renamed into more meaningful one.
2021-10-19ci: Bump vcpkg release tagHennadii Stepanov
In the new release the "Binary Caching" and "Manifest Mode" features are available by default.
2021-10-07ci: Reduce Windows memory for faster schedulingMarcoFalke
2021-10-07Merge bitcoin/bitcoin#22890: doc: Replace a link to Qt precompiled binaries ↵fanquake
with compile instructions 6bc43989372386bf1dc6ee2a763a46a2d0780059 doc: Suggest using jom instead of nmake (Hennadii Stepanov) c4139f06a943edc38e3b02980fbe7aa4ed794374 doc: Replace a link to Qt precompiled binaries with compile instructions (Hennadii Stepanov) 5e42f2ad26d35950405480f3eea2ed73fdfba841 build: Make <QtBaseDir> default name Qt and VS versions agnostic (Hennadii Stepanov) Pull request description: This PR replaces a [link to Qt precompiled binaries](https://github.com/sipsorcery/qt_win_binary/releases) with compile instructions that allow users to self-compile static Qt package which is required for building Bitcoin Core with Visual Studio. ACKs for top commit: sipsorcery: ACK 6bc43989372386bf1dc6ee2a763a46a2d0780059. Tree-SHA512: 0c91536e51177ec2ed437614cb37b3fd1dccce856548c22307359da68200433971fd97cd8a537b0856cfccc521ac50d61801a78cb5275b818829ee7b43bc7d6a
2021-09-28ci: Enable extended tests on native WindowsMarcoFalke
2021-09-27ci: Enable feature_asmap.py test on native WindowsHennadii Stepanov
2021-09-27test: Add missing re.escape() to feature_addrman testMarcoFalke
2021-09-24ci: Add more functional tests to the native Windows taskHennadii Stepanov
2021-09-24ci: Increase the dynamic port range to the maximum on native WindowsHennadii Stepanov
This change should mitigate "OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted".
2021-09-21Merge bitcoin/bitcoin#22993: build: set OSX_MIN_VERSION to 10.15fanquake
a43b8e955558483d8893996cc3a67bc74cbaf358 build: set OSX_MIN_VERSION to 10.15 (fanquake) Pull request description: Taken out of #20744, as splitting up some of the build changes was mentioned [here](https://github.com/bitcoin/bitcoin/pull/22937#discussion_r707303172). This is required to use `std::filesystem` on macOS, as support for it only landed in the libc++.dylib shipped with 10.15. So if we want to move to using `std::filesystem` for `23.0`, this bump is required. See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes > Clang now supports the C++17 \<filesystem\> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13. macOS 10.15 was released in October 2019. macOS OS's seem to have a life of about 3 years, so it's possible that 10.14 will become officially unsupported by the end of 2021 and prior to the release of 23.0. Guix builds: ```bash bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum abc8b749be65f1339dcdf44bd1ed6ade2533b8e3b5030ad1dde0ae0cede78136 guix-build-a43b8e955558/output/dist-archive/bitcoin-a43b8e955558.tar.gz 1edcc301eb4c02f3baa379beb8d4c78e661abc24a293813bc9d900cf7255b790 guix-build-a43b8e955558/output/x86_64-apple-darwin19/SHA256SUMS.part e9dbb5594a664519da778dde9ed861c3f0f631525672e17a67eeda599f16ff44 guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.dmg 11b23a17c630dddc7594c25625eea3de42db50f355733b9ce9ade2d8eba3a8f3 guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.tar.gz 257ba64a327927f94d9aa0a68da3a2695cf880b3ed1a0113c5a966dcc426eb5e guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx64.tar.gz ``` ACKs for top commit: hebasto: ACK a43b8e955558483d8893996cc3a67bc74cbaf358 jarolrod: ACK a43b8e9 Tree-SHA512: 9ac77be7cb56c068578860a3b2b8b7487c9e18b71b14aedd77a9c663f5d4bb19756d551770c02ddd12f1797beea5757b261588e7b67fb53509bb998ee8022369
2021-09-20ci: Set --nocleanup for Windows functional testsMarcoFalke
This avoids intermittent issues in the CI Task when a test passes successfully. For example: PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp\\test_runner_₿_🏃_20210920_072037\\feature_versionbits_warning_89\\alert.txt'
2021-09-18Merge bitcoin/bitcoin#22987: qa: Fix "RuntimeError: Event loop is closed" on ↵fanquake
Windows 357f0c723308b296c6250946c26cf476d9ecfda2 ci: Enable more functional tests on Windows MSVC task (Hennadii Stepanov) f55932678facea2c36bc0708994dbef327a7df09 qa: Fix "RuntimeError: Event loop is closed" on Windows (Hennadii Stepanov) Pull request description: On master (2161a058552ac938f2079b311a2d12f5d1772d01), running functional tests that use the P2P interface ends with an error: ``` RuntimeError: Event loop is closed ``` This PR fixes this bug, and enables more functional tests on Windows MSVC CI task. More details about bugfix: - [What’s New In Python 3.7](https://docs.python.org/3/whatsnew/3.7.html#asyncio) - https://bugs.python.org/issue33792 - actual [change](https://docs.python.org/3.8/library/asyncio-policy.html#asyncio.WindowsSelectorEventLoopPolicy) done in Python 3.8 Excluded tests, that are listed in the `EXCLUDE_TESTS` environment variable, need more thorough investigation to be enabled. ACKs for top commit: MarcoFalke: review ACK 357f0c723308b296c6250946c26cf476d9ecfda2 🌆 Tree-SHA512: d0ba85be81d55c934959ce7402a9c726598125e9751a1de179d16759d0e8b8a915de879c3a62c12d3564c5e0d9649ebd86963744449626efaa42d9eaa99ad3d0
2021-09-16build: set OSX_MIN_VERSION to 10.15fanquake
This is required to use std::filesystem on macOS as support for it only landed in the libc++ dylib shipped with 10.15. See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes Clang now supports the C++17 <filesystem> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.
2021-09-16ci: use Debian Bullseye in ARM CIfanquake
This works around an issue when trying to use `std::filesystem::remove_all` with the ARM GCC on Buster. Has been split out of #20744. See comments starting here: https://github.com/bitcoin/bitcoin/pull/20744#issuecomment-810279549. Also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93201.
2021-09-15ci: Enable more functional tests on Windows MSVC taskHennadii Stepanov
2021-09-09Merge bitcoin/bitcoin#22923: test: Switch multiprocess to clang i686 buildW. J. van der Laan
fa309ee61c09726a8780acaea94502712f817921 bench: Fix 32-bit compilation failure in addrman bench (MarcoFalke) fae0295a799499268caca9c385ac4d7061543980 ci: Switch multiprocess to i686 build (MarcoFalke) Pull request description: Building for i686 with clang helps to catch bugs early for: * The OSS-Fuzz i686 clang libFuzzer build * The arm 32-bit native clang build Fixes #22889 ACKs for top commit: hebasto: ACK fa309ee61c09726a8780acaea94502712f817921 Tree-SHA512: 581820d319aae2fcd4dd44979ee3d4164a575f0438476890aa2a7447f1392a5da26766cd6ab954530499b54f66eec2417bdeefdd7efb19bc27dd679cd2b9d0ce
2021-09-09Merge bitcoin/bitcoin#22912: ci: Fix merge_script in MSVC taskfanquake
f78cc90524dc15c8981da2a480621c2e47e3c7dd ci: Fix merge_script in MSVC task (Hennadii Stepanov) Pull request description: The new `merge_script` in the MSVC build task does not really exit early when the task is triggered by a non-pr. In the current code https://github.com/bitcoin/bitcoin/blob/e4aa9b15b9f80a08076ad329b473fe9107d9e65e/.cirrus.yml#L104 the `exit 0` command exits from the PowerShell call, not the recent `merge_script`. This cause the next lines https://github.com/bitcoin/bitcoin/blob/e4aa9b15b9f80a08076ad329b473fe9107d9e65e/.cirrus.yml#L105-L107 are executed unconditionally. Here is an excerpt from [CI task log](https://api.cirrus-ci.com/v1/task/4578647416766464/logs/merge.log) for the ["Merge #22915: Remove confusing CAddrDB " commit](https://github.com/bitcoin/bitcoin/commit/896649996bdaa80300fa20027a9789558233268d): ``` ... C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>call powershell.exe -NoLogo -EncodedCommand ZwBpAHQAIAByAGUAcwBlAHQAIAAtAC0AaABhAHIAZAA= HEAD is now at 896649996 Merge bitcoin/bitcoin#22915: Remove confusing CAddrDB C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>if 0 NEQ 0 exit /b 0 C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>call powershell.exe -NoLogo -EncodedCommand aQBmACAAKAAkAGUAbgB2ADoAQwBJAFIAUgBVAFMAXwBQAFIAIAAtAGUAcQAgACQAbgB1AGwAbAApACAAewAgAGUAeABpAHQAIAAwADsAIAB9AA== C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>if 0 NEQ 0 exit /b 0 C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>call powershell.exe -NoLogo -EncodedCommand ZwBpAHQAIABmAGUAdABjAGgAIAAkAGUAbgB2ADoAQwBJAFIAUgBVAFMAXwBSAEUAUABPAF8AQwBMAE8ATgBFAF8AVQBSAEwAIAAkAGUAbgB2ADoAQwBJAFIAUgBVAFMAXwBCAEEAUwBFAF8AQgBSAEEATgBDAEgA From https://github.com/bitcoin/bitcoin * branch HEAD -> FETCH_HEAD C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>if 0 NEQ 0 exit /b 0 C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>call powershell.exe -NoLogo -EncodedCommand ZwBpAHQAIABtAGUAcgBnAGUAIABGAEUAVABDAEgAXwBIAEUAQQBEAA== Already up to date. C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build>if 0 NEQ 0 exit /b 0 ``` This PR fixes this issue, and makes `merge_script` log more readable. ACKs for top commit: MarcoFalke: Concept ACK f78cc90524dc15c8981da2a480621c2e47e3c7dd Tree-SHA512: c88b115f99f9019a4100a10df051e32c05487612c13105d10873b9cf38965eeca731604d36610ae750cb1f93ba77ce97dca7599fe4984181210d0753be4eb9a0
2021-09-08cirrus: Enable tests on windowsMarcoFalke
2021-09-08ci: Switch multiprocess to i686 buildMarcoFalke
2021-09-07build: Make <QtBaseDir> default name Qt and VS versions agnosticHennadii Stepanov
This change allows users to not patch `common.qt.init.vcxproj` to fit their Qt and Visual Studio versions. Also it simplifies code base maintaining. To specify a non-default path, the QTBASEDIR environment variable can be used.
2021-09-07ci: Fix merge_script in MSVC taskHennadii Stepanov
2021-09-07ci: Build and cache static Qt instead of downloading a pre-built oneHennadii Stepanov
2021-09-07ci: Add missed comments and test_bitcoin.exe command line optionHennadii Stepanov
2021-09-07ci: Drop AppVeyor CI integrationHennadii Stepanov
2021-09-07ci: Add Windows task to Cirrus CIHennadii Stepanov
2021-08-26ci: Unconditionally set the global git author name in cirrys.ymlMarcoFalke
The author is also needed for the verify-commits.py script.
2021-08-20Merge bitcoin/bitcoin#22749: ci: Run arm task on arm64 hardwareMarcoFalke
fa35efa84bb614df9629076e45e9e974d9e940f6 ci: Run arm task on arm64 hardware (MarcoFalke) Pull request description: It will still run cross-compilation to armhf, but run the binaries on the hardware itself, not qemu. There shouldn't be any significant difference, other than maybe a slight speedup. ACKs for top commit: hebasto: re-ACK fa35efa84bb614df9629076e45e9e974d9e940f6 Tree-SHA512: d03bb2b55d0a6b5021243eedff6e143f4fad03a1a8913000c2c5c74665e4bb1c77cb30aa112dbddbc0bb7c645bec18f6b8b8ba91049587b464bbe5ec07dd46bd
2021-08-20Merge bitcoin/bitcoin#22730: ci: Run fuzzer task for the master branch onlyfanquake
5a9e255e5a324e7aa0b63a9634aa3cfda9a300bd ci: Run fuzzer task for the master branch only (Hennadii Stepanov) Pull request description: https://github.com/bitcoin/bitcoin/pull/22629#issuecomment-896454270: > I think we need to decide whether running the fuzzer CI in any branch other than master is something we want to be doing / maintaining. This seems pretty unsustainable unless we at least make changes in regards to the fuzz inputs being used by the different branches. I'm pretty sure Marco has mentioned this before. This PR makes CI ignore fuzz tests by forcing `RUN_FUZZ_TESTS=false` for all cases when it is not the master branch or a PR based on it. See #22731 as a demo for the 22.x branch. ACKs for top commit: MarcoFalke: cr ACK 5a9e255e5a324e7aa0b63a9634aa3cfda9a300bd no opinion on the concept, also didn't test fanquake: ACK 5a9e255e5a324e7aa0b63a9634aa3cfda9a300bd - didn't test other than to look at #22731. Tree-SHA512: 48f8f02f1814d4f15293a8804b76d544a08784ea7acd930b5c6d4608564d30aa5a608b1a511386ffda6975feec700c1bbeb86a30a75a7e48a1c5b167a227dbdd
2021-08-20ci: Make git available for all merge commitsHennadii Stepanov
2021-08-20scripted-diff: Rename template to avoid CI configuration parsing warningHennadii Stepanov
-BEGIN VERIFY SCRIPT- sed -i 's/\btask_template/main_template/' .cirrus.yml sed -i 's/\bTASK_TEMPLATE/MAIN_TEMPLATE/' .cirrus.yml -END VERIFY SCRIPT-
2021-08-19ci: Run arm task on arm64 hardwareMarcoFalke
2021-08-18ci: Run fuzzer task for the master branch onlyHennadii Stepanov
2021-08-18ci: Invalidate depends caches when sources have been changedHennadii Stepanov
2021-08-16ci: Reorder scripts to make git available before depends_sources_cacheHennadii Stepanov
2021-06-02ci: Bump macOS image to big-sur-xcode-12.5MarcoFalke
This also removes the "brew update" added in commit b7381552cd4f965c45f1560d9cfc2fb09dbfcc1d.
2021-05-25ci: Bump multiprocess memoryMarcoFalke
2021-05-12ci: Bump cirrus fuzz CPUs to avoid timeoutMarcoFalke
2021-05-01ci: Clarify that previous_releases task is using DEBUGMarcoFalke
2021-04-30ci: Enable D_GLIBCXX_DEBUG for multiprocess taskMarcoFalke
2021-04-20ci: Use clang-12 for asan taskMarcoFalke
Changes from Ubuntu Focal to Hirsute to get clang-12. Generally, it can be expected that more recent compilers have better support for sanitizers.