aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
AgeCommit message (Collapse)Author
2023-08-17ci: Refactor: Remove CI_USE_APT_INSTALLMarcoFalke
2023-08-17Merge bitcoin/bitcoin#28214: ci: Move tidy to persistent workerfanquake
faaa0794b24f250f787bc9b9605270108ea101a0 refactor: Remove PERSISTENT_WORKER_* yaml templates (MarcoFalke) fa1d8955f69d3934f975f42eb04b5a3fc0d8aa35 ci: Move tidy to persistent worker (MarcoFalke) Pull request description: Cirrus CI will be capping the free compute soon. For now, switch more tasks to persistent worker, as recommended by Cirrus CI. (See slightly related discussion in https://github.com/bitcoin/bitcoin/issues/28098) Also, add more docs. ACKs for top commit: hebasto: re-ACK faaa0794b24f250f787bc9b9605270108ea101a0 Tree-SHA512: d83032eeeda7869969aa8504ed5e88089f896da850f97dfb799c4d4f64e6cb9da7973eec9a97b07f646613d1dabd2308dc0055ab6e1062d18bd34a201fcaf6db
2023-08-16ci: Fix macOS-cross SDK rsyncMarcoFalke
This should fix the macOS-cross build on Cirrus CI containers. Locally this was already working, because the SDK was cached in /ci_container_base/ in the image, which is also the folder used for a later CI run. However, on Cirrus CI, when using an image *and* a custom BASE_ROOT_DIR, the SDK will not be found in /ci_base_install/, nor in BASE_ROOT_DIR. Fix this by normalizing *all* folders to /ci_container_base/.
2023-08-15Merge bitcoin/bitcoin#28187: ci: Run "macOS native x86_64" job on GitHub ActionsAndrew Chow
9658d0dc17c270138523c41a982425e276b24271 ci: Run "macOS native x86_64" job on GitHub Actions (Hennadii Stepanov) Pull request description: From https://github.com/bitcoin/bitcoin/issues/28098: > Thus, someone would have to sponsor an amount of roughly 5kUSD/mo for those two tasks. > If the goal is to stay on a free plan, I think the only option is GitHub Actions CI. --- **IMPORTANT NOTE**. We currently ship macOS release binaries for both architectures: `x86_64` and `arm64`. If this PR gets merged, only `x86_64` architecture will be tested on CI, which implies some [drawbacks](https://github.com/bitcoin/bitcoin/pull/28187#issuecomment-1658077549). However, it has never been the case that our CI tested both architectures simultaneously. And we hope that GitHub Actions will soon host macOS `arm64` runners. Historically, we moved from `x86_64` to `arm64` in https://github.com/bitcoin/bitcoin/pull/26388 less than a year ago. --- Security concerns: - https://github.com/bitcoin/bitcoin/issues/28098#issuecomment-1651432106 - https://github.com/bitcoin/bitcoin/issues/28098#issuecomment-1651688197 `GITHUB_TOKEN` permissions (from the build log in my personal repo): ``` 2023-07-27T07:30:17.8313534Z ##[group]GITHUB_TOKEN Permissions 2023-07-27T07:30:17.8314113Z Contents: read 2023-07-27T07:30:17.8314608Z Metadata: read 2023-07-27T07:30:17.8314957Z Packages: read 2023-07-27T07:30:17.8315233Z ##[endgroup] ``` Comparison of resources: | Resource | Current, Cirrus CI | Suggested, GitHub Actions | |---|:-:|:-:| | CPU | 4 | 4 \*\* | | RAM, GB | 8 | 14 | **\*\* NOTE**: However, [docs](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) are mentioning: > 3-core CPU (x86_64) ACKs for top commit: MarcoFalke: re-ACK 9658d0dc17c270138523c41a982425e276b24271 🏂 achow101: ACK 9658d0dc17c270138523c41a982425e276b24271 jarolrod: ACK 9658d0dc17c270138523c41a982425e276b24271 Tree-SHA512: 6123e68e6784cdf4e53c3e77b435709261db21f09091af2c22e667d3816a305fffb9d617297a5bc1bda18aaba84a6e210cec6a75c52afa7746a3780a67b69865
2023-08-15refactor: Remove PERSISTENT_WORKER_* yaml templatesMarcoFalke
* PERSISTENT_WORKER_TEMPLATE_ENV is not needed at all, because RESTART_CI_DOCKER_BEFORE_RUN is already set on the persistent worker. * PERSISTENT_WORKER_TEMPLATE can be replaced by pinning the previous_releases task to a type of worker. This should make the CI performance more consistent.
2023-08-14ci: Drop no longer needed `macos_sdk_cache`Hennadii Stepanov
It has been cached in the Docker image since https://github.com/bitcoin/bitcoin/pull/27028.
2023-08-09ci: Move tidy to persistent workerMarcoFalke
2023-08-09ci: Run "macOS native x86_64" job on GitHub ActionsHennadii Stepanov
Also, the "macOS native arm64" task has been removed from Cirrus CI.
2023-08-07ci: Use qemu-user through container engineMarcoFalke
2023-08-01ci: Add missing linux-headers package to ASan taskMarcoFalke
Otherwise the task will throw in skip_if_no_python_bcc. Also, adjust CI_CONTAINER_CAP for all needed permissions.
2023-08-01ci: Move ASan USDT to persistent_workerMarcoFalke
2023-07-30ci: Use documented `CCACHE_MAXSIZE` instead of `CCACHE_SIZE`Hennadii Stepanov
This change aims to: 1) Remove our own `CCACHE_SIZE` environment variable that violates Ccache's `CCACHE_*` namespace. 2) Introduce the `CCACHE_MAXSIZE` environment variable that is documented since v3.3, which makes its usage consistent with other ones, such as `CCACHE_DIR` and `CCACHE_NOHASHDIR`.
2023-07-16ci: Use DOCKER_BUILDKIT for lint imageMarcoFalke
Can be reviewed with: --color-moved=dimmed-zebra --ignore-all-space
2023-07-04ci: Remove deprecated container.greedyMarcoFalke
The option is to be phased out, so remove it to avoid relying on it. Update container.cpu and timeouts where needed.
2023-06-22depends: Bump MacOS minimum runtime requirement to 11.0Cory Fields
This is necessary as the new fixup_chains linker behavior is only valid when the runtime target is >=11.0.
2023-06-14Merge bitcoin/bitcoin#27881: ci: Use latest `macos-ventura-xcode:14.3.1` imagefanquake
a13c3f31771121d853be8a5202baeba41bafe57f ci: Use latest `macos-ventura-xcode:14.3.1` image (Hennadii Stepanov) Pull request description: As documented: https://github.com/bitcoin/bitcoin/blob/427853ab49f610e971b73ea4cc1d5366747e52b1/.cirrus.yml#L339 Last time, the image was updated in https://github.com/bitcoin/bitcoin/pull/26388. The `check_clang` script diff: ```diff --- master +++ pr @@ -1,5 +1,5 @@ clang --version -Apple clang version 14.0.0 (clang-1400.0.29.202) -Target: arm64-apple-darwin22.1.0 +Apple clang version 14.0.3 (clang-1403.0.22.14.1) +Target: arm64-apple-darwin22.5.0 Thread model: posix -InstalledDir: /Applications/Xcode-14.1.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin +InstalledDir: /Applications/Xcode-14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin ACKs for top commit: fanquake: ACK a13c3f31771121d853be8a5202baeba41bafe57f Tree-SHA512: 18ffa97cc5900a5b35d0ecda79a55d7427610c6e799742b5811e1c470ef320fd98f9400168c4c517f8668f1bf76e57d68cd373a41fa346d15084855aa2c409b3
2023-06-14Merge bitcoin/bitcoin#27883: ci: Bump macOS cross task to ubuntu:jammyfanquake
fa70e85e00f5ff7df7d74f461cdb0d47e89ed096 ci: Bump macOS cross task to ubuntu:jammy (MarcoFalke) Pull request description: It shouldn't matter what underlying image is used for the task, because the compiler is fully provided by `./depends/`. So just use the latest Ubuntu LTS, which is also most likely the OS that is used by people cross-compiling, if there are any at all. ACKs for top commit: fanquake: ACK fa70e85e00f5ff7df7d74f461cdb0d47e89ed096 hebasto: ACK fa70e85e00f5ff7df7d74f461cdb0d47e89ed096 Tree-SHA512: ab2831a8182ca382b8af37d5395c35b5341b8f55b0ce05f4787c627cbec306cefad66713ad053228862eeac01fb8b79be7e168c41e6ec4615fbcb4ef106125b8
2023-06-14ci: Switch to `amd64` container in "ARM" taskHennadii Stepanov
Tee `arm_container` does not support 32-bit mode anymore. See: https://github.com/bitcoin/bitcoin/issues/27879
2023-06-14ci: Bump macOS cross task to ubuntu:jammyMarcoFalke
2023-06-13ci: Use latest `macos-ventura-xcode:14.3.1` imageHennadii Stepanov
2023-06-07ci: Nuke Android APK task, Use credits for tsanMarcoFalke
2023-05-29ci: return to using Ubuntu 22.04 in MSAN jobsfanquake
We no-longer need to use 23.04, now that we aren't installing clang-16 and friends.
2023-05-18ci: Bump centos:stream8 to centos:stream9MarcoFalke
This is required for the next commit. Also, drop CI_RETRY_EXE before "dnf install", because it requires getopt, which will only be installed later on via util-linux
2023-05-17ci: Reduce tsan CPU and memory for faster schedulingMarcoFalke
2023-05-17ci: Use credits for ARM taskMarcoFalke
2023-05-05ci: fix asan task namefanquake
Pointed out in https://github.com/bitcoin/bitcoin/issues/27380#issuecomment-1536434598.
2023-05-03ci: Use arm_container.dockerfileMarcoFalke
2023-05-02ci: use LLVM/clang-16 in native_asan jobfanquake
Similar to #27298.
2023-04-21Bump python minimum version to 3.8MarcoFalke
Also, switch ci_native_qt5 to g++-9 (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See https://github.com/bitcoin/bitcoin/pull/27483#issuecomment-1513477050 for the list of bugs.
2023-04-11ci: Bump nowallet_libbitcoinkernel task to ubuntu:focalMarcoFalke
This is needed to work around https://github.com/bitcoin/bitcoin/pull/27340#issuecomment-1484988445 The only change should be that python3.7 is bumped to 3.8, but this is fine because ci/test/00_setup_env_native_qt5.sh still checks for python3.7 compatibility.
2023-04-11ci: Use credits in more tasksMarcoFalke
This should give faster feedback about the CI result, while still keeping expenses reasonable.
2023-04-11ci: Use Cirrus CI dockerfile envMarcoFalke
2023-04-10test: LLVM/Clang 16 for MSAN jobsfanquake
Sync up with other CI infra.
2023-04-05ci: use clang-16 in tidy taskfanquake
2023-03-29ci: use LLVM/clang-16 in native_fuzz (ASAN) jobfanquake
Similar to #27298.
2023-03-28ci: Use TSan new runtime (llvm-16, take 3)MarcoFalke
2023-03-22ci: Use clang-15 in "tidy" taskHennadii Stepanov
2023-02-28[ci] change lint to bookworm for git v2.38glozow
Since 5497c14, verify-commits.py requires git merge-tree which is only available in git v2.38 or later.
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