ci: failure to download 0.14.3-win64.zip in Win test cross-built #33913

issue fanquake opened this issue on November 20, 2025
  1. fanquake commented at 11:03 AM on November 20, 2025: member

    This is happening semi-frequently:

    https://github.com/bitcoin/bitcoin/actions/runs/19520873587/job/55885060054:

    Run ./test/get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
    
    Download failed: Remote end closed connection without response
    Releases directory: D:\a\_temp/previous_releases
    Fetching: https://bitcoincore.org/bin/bitcoin-core-0.14.3/bitcoin-0.14.3-win64.zip
    Error: Process completed with exit code 1.
    

    https://github.com/bitcoin/bitcoin/actions/runs/19239483669/job/55006759227:

     Releases directory: D:\a\_temp/previous_releases
    Fetching: https://bitcoincore.org/bin/bitcoin-core-0.14.3/bitcoin-0.14.3-win64.zip
    
    Download failed: [WinError 10054] An existing connection was forcibly closed by the remote host
    Downloading: [----------------------------------------] 0.0%
    Error: Process completed with exit code 1.
    

    https://github.com/bitcoin/bitcoin/actions/runs/19481968460/job/55756476621:

    
    Run ./test/get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
    
    Download failed: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
    Releases directory: D:\a\_temp/previous_releases
    Fetching: https://bitcoincore.org/bin/bitcoin-core-0.14.3/bitcoin-0.14.3-win64.zip
    Error: Process completed with exit code 1.
    
  2. maflcko added the label CI failed on Nov 20, 2025
  3. maflcko commented at 11:47 AM on November 20, 2025: member

    yeah, network requests should be retried.

    An alternative could be to cache the bins, but I am not sure how large they are and if the diff is worth it. It could look something like this, if the simply retry does not improve things:

    diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
    index 7ba353a..3e2e1a1 100644
    --- a/.github/workflows/ci.yml
    +++ b/.github/workflows/ci.yml
    @@ -394,6 +394,7 @@ jobs:
         env:
           PYTHONUTF8: 1
           TEST_RUNNER_TIMEOUT_FACTOR: 40
    +      CONTAINER_NAME: windows-native-test
     
         steps:
           - *ANNOTATION_PR_NUMBER
    @@ -452,6 +453,27 @@ jobs:
             run: |
               echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> "$GITHUB_ENV"
     
    +      - name: Set previous releases hash
    +        run: |
    +          PREVIOUS_RELEASES_HASH=$(py -3 - <<'PY'
    +          import hashlib, subprocess
    +          data = subprocess.check_output(["git", "ls-tree", "HEAD", "test/get_previous_releases.py"])
    +          print(hashlib.sha256(data).hexdigest())
    +          PY)
    +          echo "PREVIOUS_RELEASES_HASH=$PREVIOUS_RELEASES_HASH" >> "$GITHUB_ENV"
    +
    +      - name: Restore previous releases cache
    +        id: previous-releases
    +        uses: actions/cache/restore@v4
    +        with:
    +          path: ${{ env.PREVIOUS_RELEASES_DIR }}
    +          key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
    +          restore-keys: |
    +            previous-releases-${{ env.CONTAINER_NAME }}-
    +
    +      - name: Record previous releases cache hit
    +        run: echo "PREVIOUS_RELEASES_CACHE_HIT=${{ steps.previous-releases.outputs.cache-hit }}" >> "$GITHUB_ENV"
    +
           - name: Get previous releases
             run: ./.github/get_previous_releases_with_retry.py --target-dir $PREVIOUS_RELEASES_DIR
     
    @@ -463,6 +485,13 @@ jobs:
               TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
             run: py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix="$RUNNER_TEMP" --combinedlogslen=99999999 --timeout-factor=$TEST_RUNNER_TIMEOUT_FACTOR $EXCLUDE $TEST_RUNNER_EXTRA
     
    +      - name: Save previous releases cache
    +        if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.PREVIOUS_RELEASES_CACHE_HIT != 'true') }}
    +        uses: actions/cache/save@v4
    +        with:
    +          path: ${{ env.PREVIOUS_RELEASES_DIR }}
    +          key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
    +
       ci-matrix:
         name: ${{ matrix.name }}
         needs: runners
    
  4. achow101 closed this on Nov 21, 2025

  5. achow101 referenced this in commit 313cdd2bfb on Nov 21, 2025

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-04-24 09:13 UTC

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