Commit f100bfe9b1 for openssl.org

commit f100bfe9b1f426f4229930795d4bc983dda798d0
Author: Dmitry Misharov <dmitry@openssl.org>
Date:   Thu Oct 22 09:05:49 2026 +0200

    CI: inline the package install retry in os-zoo containers

    The distro images have no git, so actions/checkout downloads a GitHub
    archive, which leaves out .github/ because of export-ignore. The install
    step then failed with ".github/retry: not found" in every linux job.

    Assisted-by: Claude:claude-opus-5-5
    Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
    Reviewed-by: Milan Broz <mbroz@openssl.org>
    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    Merge-date: Thu Oct 22 10:02:43 2026
    Merged-from: https://github.com/openssl/openssl/pull/33314

diff --git a/.github/workflows/os-zoo.yml b/.github/workflows/os-zoo.yml
index 5805c07ca6..ef413e14f8 100644
--- a/.github/workflows/os-zoo.yml
+++ b/.github/workflows/os-zoo.yml
@@ -153,10 +153,20 @@ jobs:
     - name: prepare package sources
       if: matrix.zoo.setup != ''
       run: ${{ matrix.zoo.setup }}
+    # Images without git get the checkout as a GitHub archive, which leaves out
+    # .github/ (export-ignore), so .github/retry logic is inlined here.
     - name: install packages
       env:
         INSTALL: ${{ matrix.zoo.install }}
-      run: .github/retry sh -c "$INSTALL"
+      run: |
+        for attempt in 1 2 3; do
+          sh -c "$INSTALL" && exit 0
+          if [ "$attempt" -lt 3 ]; then sleep 30; fi
+        done
+        msg="package install failed 3 times; this is a runner or network problem, not a test failure"
+        echo "::error title=Environment failure::$msg"
+        echo "Environment failure: $msg" >> "$GITHUB_STEP_SUMMARY"
+        exit 1
     - name: config
       run: ./config
     - name: config dump