fix: workflow cache (#5050)
Decouple cache saving to fix the `verify` steps never being run due to a cache saving issue
This commit is contained in:
42
.github/workflows/rust-ci.yml
vendored
42
.github/workflows/rust-ci.yml
vendored
@@ -148,15 +148,26 @@ jobs:
|
|||||||
targets: ${{ matrix.target }}
|
targets: ${{ matrix.target }}
|
||||||
components: clippy
|
components: clippy
|
||||||
|
|
||||||
- uses: actions/cache@v4
|
# Explicit cache restore: split cargo home vs target, so we can
|
||||||
|
# avoid caching the large target dir on the gnu-dev job.
|
||||||
|
- name: Restore cargo home cache
|
||||||
|
id: cache_cargo_home_restore
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.cargo/bin/
|
~/.cargo/bin/
|
||||||
~/.cargo/registry/index/
|
~/.cargo/registry/index/
|
||||||
~/.cargo/registry/cache/
|
~/.cargo/registry/cache/
|
||||||
~/.cargo/git/db/
|
~/.cargo/git/db/
|
||||||
${{ github.workspace }}/codex-rs/target/
|
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}
|
||||||
key: cargo-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}
|
|
||||||
|
- name: Restore target cache (except gnu-dev)
|
||||||
|
id: cache_target_restore
|
||||||
|
if: ${{ !(matrix.target == 'x86_64-unknown-linux-gnu' && matrix.profile != 'release') }}
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
path: ${{ github.workspace }}/codex-rs/target/
|
||||||
|
key: cargo-target-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
|
||||||
- if: ${{ matrix.target == 'x86_64-unknown-linux-musl' || matrix.target == 'aarch64-unknown-linux-musl'}}
|
- if: ${{ matrix.target == 'x86_64-unknown-linux-musl' || matrix.target == 'aarch64-unknown-linux-musl'}}
|
||||||
name: Install musl build tools
|
name: Install musl build tools
|
||||||
@@ -194,6 +205,31 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
|
|
||||||
|
# Save caches explicitly; make non-fatal so cache packaging
|
||||||
|
# never fails the overall job. Only save when key wasn't hit.
|
||||||
|
- name: Save cargo home cache
|
||||||
|
if: always() && !cancelled() && steps.cache_cargo_home_restore.outputs.cache-hit != 'true'
|
||||||
|
continue-on-error: true
|
||||||
|
uses: actions/cache/save@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/bin/
|
||||||
|
~/.cargo/registry/index/
|
||||||
|
~/.cargo/registry/cache/
|
||||||
|
~/.cargo/git/db/
|
||||||
|
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
|
||||||
|
- name: Save target cache (except gnu-dev)
|
||||||
|
if: >-
|
||||||
|
always() && !cancelled() &&
|
||||||
|
(steps.cache_target_restore.outputs.cache-hit != 'true') &&
|
||||||
|
!(matrix.target == 'x86_64-unknown-linux-gnu' && matrix.profile != 'release')
|
||||||
|
continue-on-error: true
|
||||||
|
uses: actions/cache/save@v4
|
||||||
|
with:
|
||||||
|
path: ${{ github.workspace }}/codex-rs/target/
|
||||||
|
key: cargo-target-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
|
||||||
# Fail the job if any of the previous steps failed.
|
# Fail the job if any of the previous steps failed.
|
||||||
- name: verify all steps passed
|
- name: verify all steps passed
|
||||||
if: |
|
if: |
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ PY
|
|||||||
let second_args = serde_json::json!({
|
let second_args = serde_json::json!({
|
||||||
"input": Vec::<String>::new(),
|
"input": Vec::<String>::new(),
|
||||||
"session_id": "0",
|
"session_id": "0",
|
||||||
"timeout_ms": 800,
|
"timeout_ms": 2_000,
|
||||||
});
|
});
|
||||||
|
|
||||||
let responses = vec![
|
let responses = vec![
|
||||||
|
|||||||
Reference in New Issue
Block a user