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

issue fanquake openend 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:

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

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

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

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

    0
    1Run ./test/get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
    2
    3Download 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
    4Releases directory: D:\a\_temp/previous_releases
    5Fetching: https://bitcoincore.org/bin/bitcoin-core-0.14.3/bitcoin-0.14.3-win64.zip
    6Error: 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:

     0diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
     1index 7ba353a..3e2e1a1 100644
     2--- a/.github/workflows/ci.yml
     3+++ b/.github/workflows/ci.yml
     4@@ -394,6 +394,7 @@ jobs:
     5     env:
     6       PYTHONUTF8: 1
     7       TEST_RUNNER_TIMEOUT_FACTOR: 40
     8+      CONTAINER_NAME: windows-native-test
     9 
    10     steps:
    11       - *ANNOTATION_PR_NUMBER
    12@@ -452,6 +453,27 @@ jobs:
    13         run: |
    14           echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> "$GITHUB_ENV"
    15 
    16+      - name: Set previous releases hash
    17+        run: |
    18+          PREVIOUS_RELEASES_HASH=$(py -3 - <<'PY'
    19+          import hashlib, subprocess
    20+          data = subprocess.check_output(["git", "ls-tree", "HEAD", "test/get_previous_releases.py"])
    21+          print(hashlib.sha256(data).hexdigest())
    22+          PY)
    23+          echo "PREVIOUS_RELEASES_HASH=$PREVIOUS_RELEASES_HASH" >> "$GITHUB_ENV"
    24+
    25+      - name: Restore previous releases cache
    26+        id: previous-releases
    27+        uses: actions/cache/restore@v4
    28+        with:
    29+          path: ${{ env.PREVIOUS_RELEASES_DIR }}
    30+          key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
    31+          restore-keys: |
    32+            previous-releases-${{ env.CONTAINER_NAME }}-
    33+
    34+      - name: Record previous releases cache hit
    35+        run: echo "PREVIOUS_RELEASES_CACHE_HIT=${{ steps.previous-releases.outputs.cache-hit }}" >> "$GITHUB_ENV"
    36+
    37       - name: Get previous releases
    38         run: ./.github/get_previous_releases_with_retry.py --target-dir $PREVIOUS_RELEASES_DIR
    39 
    40@@ -463,6 +485,13 @@ jobs:
    41           TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
    42         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
    43 
    44+      - name: Save previous releases cache
    45+        if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.PREVIOUS_RELEASES_CACHE_HIT != 'true') }}
    46+        uses: actions/cache/save@v4
    47+        with:
    48+          path: ${{ env.PREVIOUS_RELEASES_DIR }}
    49+          key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
    50+
    51   ci-matrix:
    52     name: ${{ matrix.name }}
    53     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: 2025-11-27 00:13 UTC

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