Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
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/.
|
|
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
|
|
* 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.
|
|
It has been cached in the Docker image since https://github.com/bitcoin/bitcoin/pull/27028.
|
|
|
|
Also, the "macOS native arm64" task has been removed from Cirrus CI.
|
|
|
|
Otherwise the task will throw in skip_if_no_python_bcc.
Also, adjust CI_CONTAINER_CAP for all needed permissions.
|
|
|
|
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`.
|
|
Can be reviewed with:
--color-moved=dimmed-zebra --ignore-all-space
|
|
The option is to be phased out, so remove it to avoid relying on it.
Update container.cpu and timeouts where needed.
|
|
This is necessary as the new fixup_chains linker behavior is only valid
when the runtime target is >=11.0.
|
|
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
|
|
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
|
|
Tee `arm_container` does not support 32-bit mode anymore.
See: https://github.com/bitcoin/bitcoin/issues/27879
|
|
|
|
|
|
|
|
We no-longer need to use 23.04, now that we aren't installing clang-16
and friends.
|
|
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
|
|
|
|
|
|
Pointed out in
https://github.com/bitcoin/bitcoin/issues/27380#issuecomment-1536434598.
|
|
|
|
Similar to #27298.
|
|
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.
|
|
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.
|
|
This should give faster feedback about the CI result, while still
keeping expenses reasonable.
|
|
|
|
Sync up with other CI infra.
|
|
|
|
Similar to #27298.
|
|
|
|
|
|
Since 5497c14, verify-commits.py requires git merge-tree which is only
available in git v2.38 or later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|