ci: remove Valgrind fuzz from CI matrix #34304

pull l0rinc wants to merge 1 commits into bitcoin:master from l0rinc:l0rinc/gha-valgrind-timeout changing 1 files +0 −6
  1. l0rinc commented at 12:14 pm on January 15, 2026: contributor

    Problem definition

    The Valgrind fuzz job was introduced in e4b04630bcf59ea03c1373777a0167af699f92a4. Since then, ci/test/00_setup_env_native_fuzz_with_valgrind.sh seems to regularly time out on forked repositories (which fall back to GitHub-hosted runners), hitting the 240 minute job timeout.

    This means that every PR I push on my own branch (I do that sometimes to make sure it passes CI before I push to bitcoin/bitcoin) will always fail.

    Fix

    Remove it from the CI matrix, similar to how the valgrind no-fuzz task is handled. The setup script remains available for local testing.

  2. DrahtBot added the label Tests on Jan 15, 2026
  3. DrahtBot commented at 12:14 pm on January 15, 2026: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34304.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept NACK fanquake
    Concept ACK willcl-ark

    If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.

  4. l0rinc closed this on Jan 15, 2026

  5. l0rinc reopened this on Jan 15, 2026

  6. DrahtBot added the label CI failed on Jan 15, 2026
  7. willcl-ark commented at 1:08 pm on January 15, 2026: member

    Concept ACK on this, thanks for addressing.

    I think we could disable on non-cirrus runners with:

     0diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
     1index daeefddcb60..173028ec4d1 100644
     2--- a/.github/workflows/ci.yml
     3+++ b/.github/workflows/ci.yml
     4@@ -518,7 +518,7 @@ jobs:
     5     name: ${{ matrix.name }}
     6     needs: runners
     7     runs-on: ${{ needs.runners.outputs.provider == 'cirrus' && matrix.cirrus-runner || matrix.fallback-runner }}
     8-    if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
     9+    if: ${{ (vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request') && (!matrix.cirrus-only || needs.runners.outputs.provider == 'cirrus') }}
    10     timeout-minutes: ${{ matrix.timeout-minutes }}
    11 
    12     env:
    13@@ -580,7 +580,7 @@ jobs:
    14 
    15           - name: 'Valgrind, fuzz'
    16             cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md'
    17-            fallback-runner: 'ubuntu-24.04'
    18+            cirrus-only: true
    19             timeout-minutes: 240
    20             file-env: './ci/test/00_setup_env_native_fuzz_with_valgrind.sh'
    21 
    

    This may though impact downstream forks who are using non-GHA-non-cirrus runners (if there are any), but IMO they can easily maintain a revertion of this patch, in combination (most likely) with an existing patch they maintain to use their custom runner types.

    I don’t think losing valgrind on forks is any concern to us though, as it will still run on all PRs and merges.

  8. l0rinc commented at 1:12 pm on January 15, 2026: contributor
    @willcl-ark, I think we can probably do both. This PR changes a timeout that’s provably too low - if you push the above as a separate PR, I will gladly review it, I think it’s orthogonal to this change.
  9. in .github/workflows/ci.yml:584 in a3d735a077
    580@@ -581,7 +581,7 @@ jobs:
    581           - name: 'Valgrind, fuzz'
    582             cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md'
    583             fallback-runner: 'ubuntu-24.04'
    584-            timeout-minutes: 240
    585+            timeout-minutes: 360
    


    maflcko commented at 1:22 pm on January 15, 2026:

    not sure about this. IIRC it was taking 3 hours, when the task was added, now 4 hours is not enough. More than 6 hours is not possible at all with GHA.

    I am not aware of any issue that this task has found, which has not been found by the current msan task. Note that the msan task has library hardening enabled and recent msan versions also check memory for every function call (args and return values).

    So I think it is probably easiest to remove this from the matrix. This is no different than the valgrind no-fuzz task, which is also not included in this matrix.

    Of course, we should still keep the task config itself. Also, it should be run locally, but this is true with or without this pull request.


    l0rinc commented at 1:35 pm on January 15, 2026:
    Thanks, that’s even simpler, pushed, updated the PR title & description and commit message, added you as coauthor.
  10. fanquake commented at 1:30 pm on January 15, 2026: member

    ~0. Not sure about having the test timeouts for this repository, determined by something outside this repository, where the resource availability is different (and undocumented).

    now 4 hours is not enough.

    It is though. Everything is fine in this repo, and someone running the tests somewhere else, without enough resources, isn’t a good reason to bump timeouts and/or remove tests from this repository?

  11. ci: remove `Valgrind fuzz` from CI matrix
    The `Valgrind fuzz` job was introduced in e4b04630bcf59ea03c1373777a0167af699f92a4.
    Since then, ci/test/00_setup_env_native_fuzz_with_valgrind.sh seems to regularly time out on forked repositories (which fall back to GitHub-hosted runners), hitting the 240 minute job timeout.
    
    Remove it from the CI matrix, similar to how the valgrind no-fuzz task is handled.
    The setup script remains available for local testing.
    
    Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
    be95745a8e
  12. l0rinc force-pushed on Jan 15, 2026
  13. l0rinc renamed this:
    ci: bump `Valgrind fuzz` timeout to pass with GHA
    ci: remove `Valgrind fuzz` from CI matrix
    on Jan 15, 2026
  14. l0rinc commented at 1:38 pm on January 15, 2026: contributor

    Thanks for the reviews.

    ~0. Not sure about having the test timeouts for this repository, determined by something outside this repository, where the resource availability is different (and undocumented).

    The repo should be forkable, it was working correctly before, adding this new task changed that. But based on @maflcko’s observations I have adjusted the PR.

  15. fanquake commented at 1:38 pm on January 15, 2026: member
    NACK.
  16. l0rinc closed this on Jan 15, 2026


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-01-28 09:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me