From d790b51fe016f196387c2edd9d9c5e24aa457381 Mon Sep 17 00:00:00 2001 From: Mi Tom <6468993+MDX-Tom@users.noreply.github.com> Date: Sat, 22 Aug 2026 18:40:34 +0800 Subject: [PATCH] ci: harden Cargo dependency fetching --- .github/workflows/ci.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1dfb4e506..16a880988 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,8 @@ concurrency: env: CARGO_TERM_COLOR: always + CARGO_NET_GIT_FETCH_WITH_CLI: "true" + CARGO_NET_RETRY: "3" jobs: rust_workspace: @@ -57,6 +59,23 @@ jobs: - name: Setup release environment uses: ./.github/actions/setup-release-env + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Fetch Rust dependencies + shell: bash + run: | + set -euo pipefail + for attempt in 1 2 3; do + if cargo fetch --locked; then + exit 0 + fi + if [ "$attempt" -eq 3 ]; then + exit 1 + fi + sleep $((attempt * 10)) + done + - name: Install frontend dependencies working-directory: apps run: pnpm install --frozen-lockfile