aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
AgeCommit message (Collapse)Author
2023-02-09ci: Fix `fingerprint_script` for `depends` subdir cachesHennadii Stepanov
2023-02-09ci: Inline `MACOS_NATIVE_TASK_TEMPLATE`Hennadii Stepanov
2023-02-09ci: Re-introduce `depends_built` cache back in macOS and Android tasksHennadii Stepanov
2023-02-08ci: Use the latest Ubuntu LTS for "ARM64 Android APK" taskHennadii Stepanov
2023-01-27ci: Fetch no git history, unless lintMarcoFalke
2023-01-18Bump minimum python version to 3.7MarcoFalke
2023-01-18ci: Bump --combinedlogslen to debug intermittent issuesMarcoFalke
2023-01-17Merge bitcoin/bitcoin#26716: ci: Build python from source in "lint" taskMarcoFalke
123043e99cf3aab9eef7e381b133477b518ac4d0 ci: Bump lint task image to Ubuntu Jammy (Hennadii Stepanov) 9b86114058b3931c5b4ddc931a8a2cfdc8b085b6 ci: Use pyenv's `python-build` to install Python in lint task (Hennadii Stepanov) Pull request description: This PR: - is an alternative to bitcoin/bitcoin#26581 and bitcoin/bitcoin#26637 - closes bitcoin/bitcoin#26548 Key advantages of this PR over others: - it uses pyenv's `python-build` [standalone](https://github.com/pyenv/pyenv/tree/master/plugins/python-build#using-python-build-standalone) - requires no additional computational resources Note for testing. The lint task must success regardless of whether the `python_cache` is populated or invalidated. ACKs for top commit: MarcoFalke: ACK 123043e99cf3aab9eef7e381b133477b518ac4d0 fanquake: ACK 123043e99cf3aab9eef7e381b133477b518ac4d0 Tree-SHA512: ba0fcdd4f2939a59692b173dcd1f5704444cfcfbb8111538c6f8160056d0536bba250e4f9b0f8c66f8b454e52034bf36ffe6afae76cdc0f7cc5b58b576d790ba
2023-01-16ci: Bump lint task image to Ubuntu JammyHennadii Stepanov
2023-01-16ci: Use pyenv's `python-build` to install Python in lint taskHennadii Stepanov
2023-01-13ci: Bump `ccache` version to the latest 4.7.4 in "Win64 native" taskHennadii Stepanov
2023-01-13ci: Bump vcpkg to the latest version 2023.01.09Hennadii Stepanov
Dependency changes (2022.09.27 - 2023.01.09): - boost 1.80.0#0 -> 1.81.0#0 - libevent 2.1.12#6 -> libevent 2.1.12#7 - sqlite3 3.39.2#0 -> 3.40.0#1
2023-01-09ci: Run one task with all tests on creditsMarcoFalke
2023-01-04Merge bitcoin/bitcoin#26791: ci: Properly set COMMIT_RANGE in lint taskMarcoFalke
fa5cbf2290dab08296cabbd973e9adefc883f3fc ci: Properly set COMMIT_RANGE in lint task (MarcoFalke) Pull request description: Currently the variable holds (apart from the commits in the pull request) all commits to master since the pull was opened. This is problematic, because already merged commits are linted in unrelated pulls, leading to: * Wasted resources. For example, currently the lint task may take 9 minutes, when it should take 1. See https://cirrus-ci.com/task/6032782770569216?logs=lint#L1449 * False failures. For example, when a "wrong" commit is in master it can lead to some pulls failing unrelatedly, and others not. Now that the CI has the `/merge` commit (since commit fad7281d7842f337932cf44e703fdd631230ddd6), `COMMIT_RANGE` can simply be set to `HEAD~..HEAD` to only hold the changes in the pull. ACKs for top commit: fanquake: ACK fa5cbf2290dab08296cabbd973e9adefc883f3fc Tree-SHA512: e85fca4ca9d2615ddd2544403485e06885769a3f70bca297e23eefda2a1d28f47c5271f6adfa6ce0e5e972335c78098b76e0db4b109f59d0986bf508cef7528f
2023-01-02ci: Properly set COMMIT_RANGE in lint taskMarcoFalke
2022-12-31doc: Correct linked Microsoft URLsSuriyaa Sundararuban
2022-12-30Revert "ci: Use clang-15 in tsan task"MarcoFalke
This reverts commit faa00ca78e27a40cbafe701348e6b3674e3ddeed.
2022-12-29ci: Use clang-15 in tsan taskMarcoFalke
2022-11-10test: Drop no longer required bench output redirectionHennadii Stepanov
2022-10-25ci: Use `macos-ventura-xcode:14.1` image for "macOS native" taskHennadii Stepanov
2022-10-14Merge bitcoin/bitcoin#26297: ci: Use all available CPUs for functional tests ↵fanquake
in "Win64 native" task 6fbd173d8a4519967d75d2707b2285d62faa4424 ci: Use all available CPUs for functional tests in "Win64 native" task (Hennadii Stepanov) Pull request description: On the [master](https://cirrus-ci.com/task/5422842484359168) branch: ![Screenshot from 2022-10-12 09-45-58](https://user-images.githubusercontent.com/32963518/195296883-3852ea09-7345-4166-b855-7704dcd87202.png) This [PR](https://cirrus-ci.com/task/6392972617973760) branch: ![Screenshot from 2022-10-12 11-11-15](https://user-images.githubusercontent.com/32963518/195315902-f667874a-8aeb-4f2f-bdc3-5ba432ae9353.png) Also consider "CPU Usage" charts provided by CI. Overlooked in cda62657e95a90a5fd61ba43e2acbd407e3a4135 (bitcoin/bitcoin#25929). ACKs for top commit: hebasto: Indeed. Reverted back to 6fbd173d8a4519967d75d2707b2285d62faa4424 ([pr26297.01](https://github.com/hebasto/bitcoin/commits/pr26297.01)), which was already [ACKed](https://github.com/bitcoin/bitcoin/pull/26297#pullrequestreview-1138724890) by @aureleoules. aureleoules: ACK 6fbd173d8a4519967d75d2707b2285d62faa4424 jarolrod: ACK 6fbd173d8a4519967d75d2707b2285d62faa4424 shaavan: ACK 6fbd173d8a4519967d75d2707b2285d62faa4424 Tree-SHA512: ddd4b41af95bd735f881a3b2c64ee308de2725381f770e313e66555f929d88c8848c98cc5fcd15dfa6845b5dd84ca6c8764ef5d01602b0a62041820856af2b98
2022-10-12ci: Use Multi-ToolTask in "Win64 native" taskHennadii Stepanov
See https://devblogs.microsoft.com/cppblog/improved-parallelism-in-msbuild/
2022-10-11ci: Use all available CPUs for functional tests in "Win64 native" taskHennadii Stepanov
2022-10-04ci: Workaround Windows filesystem executable bit lossHennadii Stepanov
2022-10-04ci: Use same `merge_script` implementation for Windows as for allHennadii Stepanov
2022-10-04ci: Move `git config` commands into script where they are usedHennadii Stepanov
2022-10-03ci: Run `bench_bitcoin.exe --sanity-check` in "Win64 native" taskHennadii Stepanov
Also a better name used for the script as it follows GNU's `make check`.
2022-09-30ci: Bump vcpkg to the latest version `2022.09.27`Hennadii Stepanov
Dependency changes (2022.06.16.1 - 2022.09.27): - boost 1.79.0#0 -> 1.80.0#0 - sqlite3 3.37.2#1 -> 3.39.2#0 - zeromq 4.3.4#5 -> 4.3.4#6
2022-09-29ci: Use remote pull/merge ref instead of local git mergeMacroFake
The merge strategy on the remote may be different than the local one. This may cause local merges to be different or fail completely. Fix this by using the result of the remote merge.
2022-08-25ci: Increase `windows_container` resourcesHennadii Stepanov
Required to fit timeout when all build caches are invalidated.
2022-08-25ci: Force `ccache` package version for MSVC buildHennadii Stepanov
The ccache 4.6.2 is broken.
2022-08-01Merge bitcoin/bitcoin#25528: ci: run USDT interface tests in the CIMacroFake
cc7335edc87c6ef34429b4df94f53973db520aac ci: run USDT interface test in a VM (0xb10c) dba6f8234217565957e37516a0ea655f1180d99c test: adopt USDT utxocache interface tests (0xb10c) 220a5a2841172a07d6d7849596316f0e0933e272 test: hook into PID in tracing tests (0xb10c) Pull request description: Changes a CI task that runs test the previously not run `test/functional/interface_usdt_*.py` functional tests (added in https://github.com/bitcoin/bitcoin/pull/24358). This task is run as CirussCI `compute_engine_instance` VM as hooking into the tracepoints is not possible in CirrusCI docker containers (https://github.com/bitcoin/bitcoin/issues/23296#issuecomment-1024920845). We use an unoffical PPA and untrusted `bpfcc-tools` package in the CI as the Ubuntu jammy and Debian bullseye packages are outdated. We hope use an official package when new Ubuntu/Debian releases are available for the use with Google Compute Engine. We make sure to hook into `bitcoind` binaries in USDT interface tests via their PID, instead of their path. This makes sure multiple functional tests running in parallel don't interfere with each other. The utxocache USDT interface tests is adopted to a change of the functional test framework that wasn't detected as the tests weren't run in the CI. As the tracepoints expose internals, it can happen that we need to adopt the interface test when internals change. This is a bit awkward, and if it happens to frequently, we should consider generalizing the tests a bit more. For now it's fine, I think. See the individual commit messages for more details on the changes. Fixes https://github.com/bitcoin/bitcoin/issues/24782 Fixes https://github.com/bitcoin/bitcoin/issues/23296 I'd like to hear from reviewers: - Are we OK with using the [`hadret/bpfcc`](https://launchpad.net/~hadret/+archive/ubuntu/bpfcc) PPA for now? There is a clear plan when to drop it and as is currently, it could only impact the newly added VM task. - ~~Adding a new task increases CI runtime and costs. Should an existing `container` CI task be ported to a VM and reused instead?~~ Yes, see https://github.com/bitcoin/bitcoin/pull/25528#issuecomment-1179509525 ACKs for top commit: MarcoFalke: cr ACK cc7335edc87c6ef34429b4df94f53973db520aac Tree-SHA512: b7fddccc0a77d82371229d048abe0bf2c4ccaa45906497ef3040cf99e7f05561890aef4c253c40e4afc96bb838c9787fae81c8454c6fd9db583276e005a4ccb3
2022-07-30build: Bump Qt to 5.15.5 in dependsHennadii Stepanov
2022-07-08ci: run USDT interface test in a VM0xb10c
Our CI tasks are run by CirrusCI in Docker containers in a Google Compute Engine based Kubernetes environment. These containers have limited capabilities - especially CAP_SYS_ADMIN is missing. See https://github.com/bitcoin/bitcoin/issues/23296#issuecomment-1024920845 We need elevated privileges to hook into the USDT tracepoints. We use a CirrusCI "compute_engine_instance" (a VM, not a container) where we have the required privileges. The ubunut-mininmal-2204-lts was choosen with debian-11 being an alternative. Both pack an outdated 'bpfcc-tools' package (v0.18.0) from 2020. This version prints warnings to stderr during BPF bytecode compilation, which causes our functional test runner to fail. This is fixed in newer verison. Until debian-12 or a newer Ubuntu release is avaliable as image in GCE (https://cloud.google.com/compute/docs/images/os-details), we use a third-party and untrusted PPA that releases up-to-date versions of the package. The official iovisor (authors of BCC) PPA is outdated too. An alternative would be to compile BCC from source in the CI. Co-authored-by: MacroFake <falke.marco@gmail.com>
2022-06-27Revert "ci: Increase CPU number for "Win64 native" task"Hennadii Stepanov
This reverts commit 849cf967a3bb69db9431e993e03b6dbb04a99d8b.
2022-06-26build: Bump default `PlatformToolset` for Visual Studio 2022Hennadii Stepanov
2022-06-26ci: Increase CPU number for "Win64 native" taskHennadii Stepanov
Currently, the time it takes to get the "Win64 native" task done with all of the caches been invalidated is very close to the 2 hours limit. This task is the only one which runs on Windows Community Cluster, therefore this change should not affect other CI tasks.
2022-06-25ci: Bump vcpkg to the latest versionHennadii Stepanov
Dependency changes: - boost-* 1.78.0#0 -> 1.79.0#0
2022-06-25ci: Limit ccache cache size properly on "Win64 native" taskHennadii Stepanov
2022-06-25ci: Update Windows task image up to visualstudio2022Hennadii Stepanov
2022-06-22ci: Improve naming related to "macOS 12 native x86_64" taskHennadii Stepanov
2022-06-22ci, refactor: Add `MACOS_NATIVE_TASK_TEMPLATE`Hennadii Stepanov
A native macOS task does not aware of Linux container settings, and it does not use the `depends_built_cache`.
2022-05-31ci, android: Update NDK up to r23cHennadii Stepanov
2022-04-13ci: Bump vcpkg to the latest versionHennadii Stepanov
Dependency changes: - zeromq 4.3.4#4 -> 4.3.4#5
2022-04-13ci: Make Qt configure option change invalidate "msvc_qt_built_cache"Hennadii Stepanov
2022-04-06Merge bitcoin/bitcoin#24753: ci: Add clang-tidy taskfanquake
fab24f8c3540b6f1a128cb9d6812df6678472b8d ci: Add clang-tidy task (MarcoFalke) Pull request description: Fixes #24747 ACKs for top commit: fanquake: ACK fab24f8c3540b6f1a128cb9d6812df6678472b8d vincenzopalazzo: Code Review ACK https://github.com/bitcoin/bitcoin/pull/24753/commits/fab24f8c3540b6f1a128cb9d6812df6678472b8d Tree-SHA512: 87a5d67a23d540cea09925a6c186303c1249d4ca244b95940c5214860bf7a849fa12cc4fcf1bb9270b1004407124b3487902969d8ae9d2b14dae1fdfb57cc7e8
2022-04-04ci: Add clang-tidy taskMarcoFalke
2022-04-01build, qt: bump Qt5 version to 5.15.3Pavol Rusnak
Qt 5.15.3 release is a patch release made on the top of Qt 5.15.2. As a patch release, Qt 5.15.3 does not add any new functionality but provides bug fixes and other improvements. https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.3/release-note.md * dropped patches: - patches/qt/dont_use_avx_android_x86_64.patch - patches/qt/fix_bigsur_style.patch * adjusted patches: - patches/qt/fix_android_jni_static.patch - patches/qt/fix_limits_header.patch - patches/qt/use_android_ndk23.patch Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-03-29Merge bitcoin/bitcoin#24540: ci: Integrate ccache into MSVC buildMarcoFalke
3a53927f037bb4ab72a2900c6d0a5d7577a669ed ci: Integrate ccache into MSVC build (Hennadii Stepanov) Pull request description: [ccache 4.6](https://ccache.dev/releasenotes.html#_ccache_4_6): > Added support for caching calls to Microsoft Visual C++ (MSVC) Integrated into our native Windows CI task. [On master](url) (c109e7d51c9c5614aafce184c63b52ad2e859eb2): ![Screenshot from 2022-03-12 10-17-58](https://user-images.githubusercontent.com/32963518/158012098-7ac9d441-2eb0-481e-bcc5-3700c1ce2b15.png) [This PR](https://cirrus-ci.com/task/6572984340054016): ![Screenshot from 2022-03-12 10-25-33](https://user-images.githubusercontent.com/32963518/158012361-d6bf88bc-f98d-4771-8b4f-31bf5673d085.png) ``` Summary: Hits: 222 / 222 (100.0 %) Direct: 222 / 222 (100.0 %) Preprocessed: 0 / 0 Misses: 0 Direct: 0 Preprocessed: 0 Errors: 7 Uncacheable: 9 Primary storage: Hits: 444 / 444 (100.0 %) Misses: 0 Cache size (GB): 0.04 / 5.00 (0.86 %) Use the -v/--verbose option for more details. ``` Top commit has no ACKs. Tree-SHA512: d8cf91d8e75a5187cf456960bdf759f857fb9a9b0c4087e5e46ccbe2202aca5f1b9b38a47ec54d98e885c0f5d78de93a3188fb966fa5b346e81907c211ba1e79
2022-03-28ci: Use monterey-xcode-13.3MarcoFalke