aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
AgeCommit message (Collapse)Author
2024-06-25ci: forks can opt-out of CI branch push (Cirrus only)Sjors Provoost
2024-06-21ci: clarify Cirrus self-hosted workers setupSjors Provoost
2024-06-12ci: move Asan / LSan / USDT job to Github ActionsMax Edwards
Moving it from Cirrus CI so it can be easier to maintain and used by forks
2024-02-16ci: Skip git install if it is already installedMarcoFalke
This also avoids the sudo requirement for self-hosted CI runners.
2024-01-11ci: Rename tasks (previous releases, macOS cross)MarcoFalke
2023-12-04ci: Use Ubuntu 24.04 Noble for asanMarcoFalke
2023-11-13Merge bitcoin/bitcoin#28076: util: Replace std::filesystem with util/fs.hfanquake
bbbbdb0cd57d75a06357d2811363d30a498f4499 ci: Add filesystem lint check (MarcoFalke) fada2f91108a56cc5c447bd6b6fac411e4d5cdca refactor: Replace <filesystem> with <util/fs.h> (MarcoFalke) Pull request description: Using `std::filesystem` is problematic: * There is a `fs` namespace wrapper for it. So having two ways to achieve the same is confusing. * Not using the `fs` wrapper is dangerous and buggy, because it disables known bugs by deleting problematic functions. Fix all issues by removing use of it and adding a linter to avoid using it again in the future. ACKs for top commit: TheCharlatan: ACK bbbbdb0cd57d75a06357d2811363d30a498f4499 fanquake: ACK bbbbdb0cd57d75a06357d2811363d30a498f4499 🦀 Tree-SHA512: 0e2d49742b08eb2635e6fce41485277cb9c40fe20b81017c391d3472a43787db1278a236825714ca1e41c9d2f59913865cfb0c649e3c8ab1fb598c849f80c660
2023-11-09ci: win64 task does use boost:processfanquake
It passes `--enable-external-signer`.
2023-10-12ci: Bump asanMarcoFalke
2023-09-14ci: Add filesystem lint checkMarcoFalke
2023-08-30Merge bitcoin/bitcoin#28353: ci: Remove /ro_base bind mount, Remove LC_ALL=C ↵fanquake
from s390x task fa70cbd9693b0ccc56114647f0817c96b2f223ee ci: Remove unused TEST_RUNNER_ENV="LC_ALL=C" from s390x task (MarcoFalke) fa33354dcb6f289965e84a0cd4492c43dafd917b ci: Remove /ro_base bind mount (MarcoFalke) fa0df9d4c4cb93b0971f92f3fe6f9a1deb5b311f doc: Remove sudo from command that is already run as root (MarcoFalke) Pull request description: Remove some CI stuff no longer needed. ACKs for top commit: fanquake: ACK fa70cbd9693b0ccc56114647f0817c96b2f223ee - did not test the s390x job. Tree-SHA512: 3a6ed0cfc855a92c2f834e59494c0a19a5647510247aece5e40a1aa78074894fe7454e684a1ea1f8f0662c50ac1caf2e390398b0fcfbf81544e6488fa9b8915e
2023-08-27doc: Remove sudo from command that is already run as rootMarcoFalke
2023-08-25ci: Run "Win64 native" job on GitHub ActionsHennadii Stepanov
2023-08-18ci: Remove distro-name from task nameMarcoFalke
The exact distro name should not be important. Also, it is easy to find out, if needed. Thus, remove it to avoid bloat and maintenance overhead having to keep it in sync.
2023-08-18ci: Switch remaining tasks to self-hostedMarcoFalke
This allows to drop unused templates, such as cirrus_ephemeral_worker_template_env, or container_depends_template. Also, ccache_cache, previous_releases_cache, and base_depends_built_cache can be dropped, because the caching is done in container volumes on the self-hosted runners.
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.