Age | Commit message (Collapse) | Author |
|
|
|
|
|
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
|
|
|
|
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
|
|
|
|
|
|
This reverts commit faa00ca78e27a40cbafe701348e6b3674e3ddeed.
|
|
|
|
|
|
|
|
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
|
|
See https://devblogs.microsoft.com/cppblog/improved-parallelism-in-msbuild/
|
|
|
|
|
|
|
|
|
|
Also a better name used for the script as it follows GNU's `make check`.
|
|
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
|
|
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.
|
|
Required to fit timeout when all build caches are invalidated.
|
|
The ccache 4.6.2 is broken.
|
|
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
|
|
|
|
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>
|
|
This reverts commit 849cf967a3bb69db9431e993e03b6dbb04a99d8b.
|
|
|
|
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.
|
|
Dependency changes:
- boost-* 1.78.0#0 -> 1.79.0#0
|
|
|
|
|
|
|
|
A native macOS task does not aware of Linux container settings, and it
does not use the `depends_built_cache`.
|
|
|
|
Dependency changes:
- zeromq 4.3.4#4 -> 4.3.4#5
|
|
|
|
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
|
|
|