diff --git a/.cirrus.yml b/.cirrus.yml index 582fd89f5d43f..c699665ef0a4b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -132,7 +132,7 @@ task: << : *GLOBAL_TASK_TEMPLATE container: docker_arguments: - CI_IMAGE_NAME_TAG: "docker.io/ubuntu:22.04" + CI_IMAGE_NAME_TAG: "docker.io/debian:bullseye" FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libgroestlcoinkernel.sh" env: << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV @@ -142,7 +142,7 @@ task: << : *GLOBAL_TASK_TEMPLATE container: docker_arguments: - CI_IMAGE_NAME_TAG: "docker.io/ubuntu:22.04" + CI_IMAGE_NAME_TAG: "docker.io/ubuntu:24.04" FILE_ENV: "./ci/test/00_setup_env_mac_cross.sh" env: << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7fdb5fd888071..99fcb0779c67f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,58 +22,6 @@ env: MAKEJOBS: '-j10' jobs: - test-each-commit: - name: 'test each commit' - runs-on: ubuntu-24.04 - if: github.event_name == 'pull_request' && github.event.pull_request.commits != 1 - 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. - env: - MAX_COUNT: 6 - steps: - - name: Determine fetch depth - run: echo "FETCH_DEPTH=$((${{ github.event.pull_request.commits }} + 2))" >> "$GITHUB_ENV" - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: ${{ env.FETCH_DEPTH }} - - name: Determine commit range - run: | - # Checkout HEAD~ and find the test base commit - # Checkout HEAD~ because it would be wasteful to rerun tests on the PR - # head commit that are already run by other jobs. - git checkout HEAD~ - # Figure out test base commit by listing ancestors of HEAD, excluding - # ancestors of the most recent merge commit, limiting the list to the - # newest MAX_COUNT ancestors, ordering it from oldest to newest, and - # taking the first one. - # - # If the branch contains up to MAX_COUNT ancestor commits after the - # most recent merge commit, all of those commits will be tested. If it - # contains more, only the most recent MAX_COUNT commits will be - # tested. - # - # In the command below, the ^@ suffix is used to refer to all parents - # of the merge commit as described in: - # https://git-scm.com/docs/git-rev-parse#_other_rev_parent_shorthand_notations - # and the ^ prefix is used to exclude these parents and all their - # ancestors from the rev-list output as described in: - # https://git-scm.com/docs/git-rev-list - MERGE_BASE=$(git rev-list -n1 --merges HEAD) - EXCLUDE_MERGE_BASE_ANCESTORS= - # MERGE_BASE can be empty due to limited fetch-depth - if test -n "$MERGE_BASE"; then - EXCLUDE_MERGE_BASE_ANCESTORS=^${MERGE_BASE}^@ - fi - echo "TEST_BASE=$(git rev-list -n$((${{ env.MAX_COUNT }} + 1)) --reverse HEAD $EXCLUDE_MERGE_BASE_ANCESTORS | head -1)" >> "$GITHUB_ENV" - - run: | - sudo apt-get update - sudo apt-get install clang ccache build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libminiupnpc-dev libnatpmp-dev qtbase5-dev qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y - - name: Compile and run tests - run: | - # Run tests on commits after the last merge commit and before the PR head commit - # Use clang++, because it is a bit faster and uses less memory than g++ - git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && ./autogen.sh && CC=clang CXX=clang++ ./configure --with-incompatible-bdb && make clean && make -j $(nproc) check && ./test/functional/test_runner.py -j $(( $(nproc) * 2 ))" ${{ env.TEST_BASE }} - macos-native-x86_64: name: 'macOS 13 native, x86_64, no depends, sqlite only, gui' # Use latest image, but hardcode version to avoid silent upgrades (and breaks). @@ -130,7 +78,7 @@ jobs: name: 'ASan + LSan + UBSan + integer, no depends, USDT' runs-on: ubuntu-24.04 # has to match container in ci/test/00_setup_env_native_asan.sh for tracing tools # No need to run on the read-only mirror, unless it is a PR. - if: github.event_name == 'pull_request' + # if: github.event_name == 'pull_request' timeout-minutes: 120 env: FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" diff --git a/.github/workflows/groestlcoin.yml b/.github/workflows/groestlcoin.yml index 737b4275d6029..1cd1ea4fcfd5c 100644 --- a/.github/workflows/groestlcoin.yml +++ b/.github/workflows/groestlcoin.yml @@ -69,7 +69,7 @@ jobs: - name: macos-64-bit host: x86_64-apple-darwin os: ubuntu-24.04 - packages: curl bsdmainutils cmake libz-dev python3-setuptools libtinfo6 xorriso + packages: curl bsdmainutils cmake libz-dev python3-setuptools libtinfo6 xorriso clang lld llvm check-security: false check-symbols: false dep-opts: ""