diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5781605..7b4f763 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -217,11 +217,27 @@ jobs: - name: Download GMP Archive if: steps.cache-gmp.outputs.cache-hit != 'true' - working-directory: rapidsnark/depends + shell: bash run: | - echo "Downloading GMP archive..." - curl -L -o gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz - echo "Download complete." + set -euo pipefail + mkdir -p rapidsnark/depends + cd rapidsnark/depends + URLS=( + "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz" + "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz" + "https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz" + ) + for url in "${URLS[@]}"; do + echo "Trying $url" + if curl --fail --location --retry 5 --retry-delay 3 --retry-all-errors \ + --connect-timeout 20 --max-time 300 \ + -o gmp-6.2.1.tar.xz "$url"; then + echo "Download complete from $url" + exit 0 + fi + done + echo "All GMP download sources failed" + exit 1 - name: Compile Prover and Verifier working-directory: rapidsnark @@ -470,11 +486,27 @@ jobs: - name: Download GMP Archive if: steps.cache-gmp.outputs.cache-hit != 'true' - working-directory: rapidsnark/depends + shell: bash run: | - echo "Downloading GMP archive..." - curl -L -o gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz - echo "Download complete." + set -euo pipefail + mkdir -p rapidsnark/depends + cd rapidsnark/depends + URLS=( + "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz" + "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz" + "https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz" + ) + for url in "${URLS[@]}"; do + echo "Trying $url" + if curl --fail --location --retry 5 --retry-delay 3 --retry-all-errors \ + --connect-timeout 20 --max-time 300 \ + -o gmp-6.2.1.tar.xz "$url"; then + echo "Download complete from $url" + exit 0 + fi + done + echo "All GMP download sources failed" + exit 1 - name: Compile Prover and Verifier working-directory: rapidsnark @@ -761,12 +793,27 @@ jobs: - name: Download GMP Archive if: steps.cache-gmp.outputs.cache-hit != 'true' - shell: msys2 {0} - working-directory: rapidsnark/depends + shell: bash run: | - echo "Downloading GMP archive..." - curl -L -o gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz - echo "Download complete." + set -euo pipefail + mkdir -p rapidsnark/depends + cd rapidsnark/depends + URLS=( + "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz" + "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz" + "https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz" + ) + for url in "${URLS[@]}"; do + echo "Trying $url" + if curl --fail --location --retry 5 --retry-delay 3 --retry-all-errors \ + --connect-timeout 20 --max-time 300 \ + -o gmp-6.2.1.tar.xz "$url"; then + echo "Download complete from $url" + exit 0 + fi + done + echo "All GMP download sources failed" + exit 1 - name: Compile Prover and Verifier shell: msys2 {0} @@ -1015,11 +1062,27 @@ jobs: - name: Download GMP Archive if: steps.cache-gmp.outputs.cache-hit != 'true' - working-directory: rapidsnark/depends + shell: bash run: | - echo "Downloading GMP archive..." - curl -L -o gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz - echo "Download complete." + set -euo pipefail + mkdir -p rapidsnark/depends + cd rapidsnark/depends + URLS=( + "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz" + "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz" + "https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz" + ) + for url in "${URLS[@]}"; do + echo "Trying $url" + if curl --fail --location --retry 5 --retry-delay 3 --retry-all-errors \ + --connect-timeout 20 --max-time 300 \ + -o gmp-6.2.1.tar.xz "$url"; then + echo "Download complete from $url" + exit 0 + fi + done + echo "All GMP download sources failed" + exit 1 - name: Compile Prover and Verifier working-directory: rapidsnark @@ -1028,6 +1091,7 @@ jobs: # MACOSX_DEPLOYMENT_TARGET. Patch it to 11.0 so libgmp.a matches Rust's # aarch64-apple-darwin toolchain target (macOS 11.0+). sed -i '' 's/-mmacos-version-min=14\.0/-mmacos-version-min=11.0/g' build_gmp.sh + sed -i '' 's/ -arch arm64e//g' build_gmp.sh ./build_gmp.sh macos_arm64 make macos_arm64