diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 45ab1aea..8506a83d 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -12,31 +12,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - - name: Cache cargo dependencies - uses: actions/cache@v4 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - - name: Retrieve Rust version - id: rust-version - run: echo "rust-version=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT - shell: bash - name: Set up rust toolchain uses: actions-rust-lang/setup-rust-toolchain@v1 with: components: "clippy, rustfmt" - toolchain: ${{ steps.rust-version.outputs.rust-version }} - - - name: Add wasm32-wasi target - run: rustup target add wasm32-wasip1 + cache-shared-key: cargo-${{ runner.os }} - name: Run cargo fmt uses: actions-rust-lang/rustfmt@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bcd0a647..5aa4ae44 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,31 +13,24 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Cache Cargo dependencies - uses: actions/cache@v4 + - name: Set up Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + cache-shared-key: cargo-${{ runner.os }} - - name: Retrieve Rust version - id: rust-version - run: echo "rust-version=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT - shell: bash + - name: Get Viceroy cache key + id: viceroy-rev + run: echo "sha=$(git ls-remote https://github.com/fastly/Viceroy HEAD | cut -f1)" >> $GITHUB_OUTPUT - - name: Set up Rust tool chain - uses: actions-rust-lang/setup-rust-toolchain@v1 + - name: Cache Viceroy binary + id: cache-viceroy + uses: actions/cache@v4 with: - toolchain: ${{ steps.rust-version.outputs.rust-version }} - - - name: Add wasm32-wasi target - run: rustup target add wasm32-wasip1 + path: ~/.cargo/bin/viceroy + key: viceroy-${{ runner.os }}-${{ steps.viceroy-rev.outputs.sha }} - - name: Setup Viceroy (from main since 0.14.3 is broken) + - name: Install Viceroy (from main since 0.14.3 is broken) + if: steps.cache-viceroy.outputs.cache-hit != 'true' run: cargo install --git https://github.com/fastly/Viceroy viceroy - name: Run tests