|
1 | | -# Copyright (c) 2023 The Bitcoin Core developers |
| 1 | +# Copyright (c) 2023-present The Bitcoin Core developers |
2 | 2 | # Distributed under the MIT software license, see the accompanying |
3 | 3 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. |
4 | 4 |
|
5 | 5 | name: CI |
6 | 6 | on: |
7 | | - # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request. |
| 7 | + # See: https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request. |
8 | 8 | pull_request: |
9 | | - # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push. |
| 9 | + # See: https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#push. |
10 | 10 | push: |
11 | 11 | branches: |
12 | 12 | - '**' |
|
26 | 26 | name: 'test each commit' |
27 | 27 | runs-on: ubuntu-24.04 |
28 | 28 | if: github.event_name == 'pull_request' && github.event.pull_request.commits != 1 |
29 | | - timeout-minutes: 360 # Use maximum time, see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes. Assuming a worst case time of 1 hour per commit, this leads to a --max-count=6 below. |
| 29 | + timeout-minutes: 360 # Use maximum time, see https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes. Assuming a worst case time of 1 hour per commit, this leads to a --max-count=6 below. |
30 | 30 | env: |
31 | 31 | MAX_COUNT: 6 |
32 | 32 | steps: |
@@ -67,12 +67,12 @@ jobs: |
67 | 67 | echo "TEST_BASE=$(git rev-list -n$((${{ env.MAX_COUNT }} + 1)) --reverse HEAD $EXCLUDE_MERGE_BASE_ANCESTORS | head -1)" >> "$GITHUB_ENV" |
68 | 68 | - run: | |
69 | 69 | sudo apt-get update |
70 | | - sudo apt-get install clang ccache build-essential cmake pkg-config python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libzmq3-dev qtbase5-dev qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y |
| 70 | + sudo apt-get install clang ccache build-essential cmake pkgconf python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libzmq3-dev qtbase5-dev qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y |
71 | 71 | - name: Compile and run tests |
72 | 72 | run: | |
73 | 73 | # Run tests on commits after the last merge commit and before the PR head commit |
74 | 74 | # Use clang++, because it is a bit faster and uses less memory than g++ |
75 | | - git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && CC=clang CXX=clang++ cmake -B build -DWERROR=ON -DWITH_ZMQ=ON -DBUILD_GUI=ON -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWITH_BDB=ON -DWITH_USDT=ON -DCMAKE_CXX_FLAGS='-Wno-error=unused-member-function' && cmake --build build -j $(nproc) && ctest --output-on-failure --stop-on-failure --test-dir build -j $(nproc) && ./build/test/functional/test_runner.py -j $(( $(nproc) * 2 ))" ${{ env.TEST_BASE }} |
| 75 | + git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && CC=clang CXX=clang++ cmake -B build -DWERROR=ON -DWITH_ZMQ=ON -DBUILD_GUI=ON -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWITH_BDB=ON -DWITH_USDT=ON -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON -DCMAKE_CXX_FLAGS='-Wno-error=unused-member-function' && cmake --build build -j $(nproc) && ctest --output-on-failure --stop-on-failure --test-dir build -j $(nproc) && ./build/test/functional/test_runner.py -j $(( $(nproc) * 2 )) --combinedlogslen=99999999" ${{ env.TEST_BASE }} |
76 | 76 |
|
77 | 77 | macos-native-arm64: |
78 | 78 | name: ${{ matrix.job-name }} |
@@ -168,7 +168,7 @@ jobs: |
168 | 168 | job-type: [standard, fuzz] |
169 | 169 | include: |
170 | 170 | - job-type: standard |
171 | | - generate-options: '-DBUILD_GUI=ON -DWITH_BDB=ON -DWITH_ZMQ=ON -DBUILD_BENCH=ON -DWERROR=ON' |
| 171 | + generate-options: '-DBUILD_GUI=ON -DWITH_BDB=ON -DWITH_ZMQ=ON -DBUILD_BENCH=ON -DWERROR=ON -DBUILD_KERNEL_LIB=ON -DBUILD_UTIL_CHAINSTATE=ON -DBUILD_KERNEL_TEST=OFF' |
172 | 172 | job-name: 'Win64 native, VS 2022' |
173 | 173 | - job-type: fuzz |
174 | 174 | generate-options: '-DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="sqlite" -DBUILD_GUI=OFF -DBUILD_FOR_FUZZING=ON -DWERROR=ON' |
@@ -270,16 +270,16 @@ jobs: |
270 | 270 | timeout-minutes: 120 |
271 | 271 | env: |
272 | 272 | FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" |
273 | | - DANGER_CI_ON_HOST_CACHE_FOLDERS: 1 |
| 273 | + DANGER_CI_ON_HOST_FOLDERS: 1 |
274 | 274 | steps: |
275 | 275 | - name: Checkout |
276 | 276 | uses: actions/checkout@v4 |
277 | 277 |
|
278 | | - - name: Set Ccache directory |
279 | | - run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV" |
280 | | - |
281 | | - - name: Set base root directory |
282 | | - run: echo "BASE_ROOT_DIR=${RUNNER_TEMP}" >> "$GITHUB_ENV" |
| 278 | + - name: Set CI directories |
| 279 | + run: | |
| 280 | + echo "CCACHE_DIR=${{ runner.temp }}/ccache_dir" >> "$GITHUB_ENV" |
| 281 | + echo "BASE_ROOT_DIR=${{ runner.temp }}" >> "$GITHUB_ENV" |
| 282 | + echo "BASE_BUILD_DIR=${{ runner.temp }}/build-asan" >> "$GITHUB_ENV" |
283 | 283 |
|
284 | 284 | - name: Restore Ccache cache |
285 | 285 | id: ccache-cache |
|
0 commit comments