2020 required : false
2121 default : false
2222 type : boolean
23+ run_redis_compat_release_proof :
24+ description : " Run only the Redis release proof against an explicit immutable candidate SHA"
25+ required : false
26+ default : false
27+ type : boolean
28+ release_proof_candidate_sha :
29+ description : " Full candidate SHA used only by the focused Redis release-proof repair lane"
30+ required : false
31+ default : " "
32+ type : string
2333 run_management_candidate_soak_072 :
2434 description : " Run the exact six-hour 0.72 Management Center candidate soak"
2535 required : false
@@ -152,7 +162,7 @@ jobs:
152162 uses : actions/checkout@v5
153163
154164 - name : Install Rust
155- uses : dtolnay/rust-toolchain@stable
165+ uses : dtolnay/rust-toolchain@1.94.0
156166
157167 - name : Validate topology through fail-closed watchdog
158168 run : >-
@@ -186,8 +196,8 @@ jobs:
186196 with :
187197 fetch-depth : 0
188198
189- - name : Install Rust
190- uses : dtolnay/rust-toolchain@stable
199+ - name : Install pinned Rust 1.94.0
200+ uses : dtolnay/rust-toolchain@1.94.0
191201
192202 - name : Generate and close the ownership inventory
193203 timeout-minutes : 15
@@ -260,7 +270,7 @@ jobs:
260270
261271 - name : Install reviewed cargo-semver-checks
262272 timeout-minutes : 30
263- run : cargo install cargo-semver-checks --version 0.49 .0 --locked
273+ run : cargo install cargo-semver-checks --version 0.50 .0 --locked
264274
265275 - name : Validate every publishable package against v0.70.0
266276 timeout-minutes : 180
@@ -325,7 +335,7 @@ jobs:
325335 uses : actions/checkout@v5
326336
327337 - name : Install Rust
328- uses : dtolnay/rust-toolchain@stable
338+ uses : dtolnay/rust-toolchain@1.94.0
329339
330340 - name : Cache Rust dependencies
331341 uses : Swatinem/rust-cache@v2
@@ -391,7 +401,7 @@ jobs:
391401 fetch-depth : 0
392402
393403 - name : Install Rust
394- uses : dtolnay/rust-toolchain@stable
404+ uses : dtolnay/rust-toolchain@1.94.0
395405
396406 - name : Cache Rust dependencies
397407 uses : Swatinem/rust-cache@v2
@@ -505,7 +515,7 @@ jobs:
505515 uses : actions/checkout@v5
506516
507517 - name : Install Rust
508- uses : dtolnay/rust-toolchain@stable
518+ uses : dtolnay/rust-toolchain@1.94.0
509519
510520 - name : Cache Rust dependencies
511521 uses : Swatinem/rust-cache@v2
@@ -562,7 +572,7 @@ jobs:
562572 fetch-depth : 0
563573
564574 - name : Install Rust
565- uses : dtolnay/rust-toolchain@stable
575+ uses : dtolnay/rust-toolchain@1.94.0
566576
567577 - name : Materialize fail-loud upstream admission status
568578 run : >-
@@ -620,7 +630,7 @@ jobs:
620630 uses : actions/checkout@v5
621631
622632 - name : Install Rust
623- uses : dtolnay/rust-toolchain@stable
633+ uses : dtolnay/rust-toolchain@1.94.0
624634 with :
625635 components : rustfmt
626636
@@ -671,8 +681,8 @@ jobs:
671681 with :
672682 fetch-depth : 0
673683
674- - name : Install Rust
675- uses : dtolnay/rust-toolchain@stable
684+ - name : Install pinned Rust 1.94.0
685+ uses : dtolnay/rust-toolchain@1.94.0
676686 with :
677687 components : rustfmt, clippy
678688
@@ -759,13 +769,21 @@ jobs:
759769 cargo run -p xtask --locked -- canary-sweep --release 0.71 --tier fast
760770 cargo run -p xtask --locked -- canary-check --release 0.72
761771 cargo run -p xtask --locked -- canary-sweep --release 0.72 --tier fast
772+ cargo run -p xtask --locked -- canary-check --release 0.73
773+ cargo run -p xtask --locked -- canary-sweep --release 0.73 --tier fast
762774
763775 - name : Management Center 0.72 admission contract
764776 run : |
765777 cargo test -p xtask --test management_center_072 --locked
766778 cargo run -p xtask --locked -- management-center-check --release 0.72
767779 cargo run -p xtask --locked -- release-evidence --release 0.72
768780
781+ - name : Release 0.73 performance and evidence contracts
782+ run : |
783+ cargo test -p xtask --test performance_contract_073 --test performance_local_073 --locked
784+ cargo run -p xtask --locked -- performance-contract-check --release 0.73
785+ cargo run -p xtask --locked -- release-evidence --release 0.73
786+
769787 - name : Fuzz corpus regression
770788 run : cargo run -p xtask --locked -- evidence-run --release "$HYDRACACHE_CANDIDATE_RELEASE" --gate fast.fuzz-corpus-regression
771789
@@ -1282,7 +1300,7 @@ jobs:
12821300 uses : actions/checkout@v5
12831301
12841302 - name : Install Rust
1285- uses : dtolnay/rust-toolchain@stable
1303+ uses : dtolnay/rust-toolchain@1.94.0
12861304
12871305 - name : Cache Rust dependencies
12881306 uses : Swatinem/rust-cache@v2
@@ -1303,14 +1321,28 @@ jobs:
13031321 name : Redis Compatibility Release Proof
13041322 runs-on : ubuntu-latest
13051323 timeout-minutes : 120
1306- if : github.event_name == 'schedule' || startsWith(github.ref, 'refs/tags/v') || (github.event_name == 'workflow_dispatch' && inputs.run_nightly)
1324+ if : github.event_name == 'schedule' || startsWith(github.ref, 'refs/tags/v') || (github.event_name == 'workflow_dispatch' && ( inputs.run_nightly || inputs.run_redis_compat_release_proof) )
13071325
13081326 steps :
13091327 - name : Checkout
13101328 uses : actions/checkout@v5
1329+ with :
1330+ fetch-depth : 0
1331+ ref : ${{ github.event_name == 'workflow_dispatch' && inputs.run_redis_compat_release_proof && inputs.release_proof_candidate_sha || github.sha }}
13111332
1312- - name : Install Rust
1313- uses : dtolnay/rust-toolchain@stable
1333+ - name : Verify focused release-proof candidate
1334+ if : github.event_name == 'workflow_dispatch' && inputs.run_redis_compat_release_proof
1335+ shell : bash
1336+ run : |
1337+ set -euo pipefail
1338+ candidate='${{ inputs.release_proof_candidate_sha }}'
1339+ test "$candidate" != ""
1340+ test "${#candidate}" -eq 40
1341+ test "$(git rev-parse HEAD)" = "$candidate"
1342+ git diff --exit-code
1343+
1344+ - name : Install pinned Rust 1.94.0
1345+ uses : dtolnay/rust-toolchain@1.94.0
13141346 with :
13151347 components : rustfmt, clippy
13161348
@@ -1367,7 +1399,7 @@ jobs:
13671399 uses : actions/checkout@v5
13681400
13691401 - name : Install Rust
1370- uses : dtolnay/rust-toolchain@stable
1402+ uses : dtolnay/rust-toolchain@1.94.0
13711403
13721404 - name : Cache Rust dependencies
13731405 uses : Swatinem/rust-cache@v2
@@ -1462,7 +1494,7 @@ jobs:
14621494 fetch-depth : 0
14631495
14641496 - name : Install Rust
1465- uses : dtolnay/rust-toolchain@stable
1497+ uses : dtolnay/rust-toolchain@1.94.0
14661498
14671499 - name : Verify shipped v0.71.0 provenance
14681500 run : |
@@ -1496,7 +1528,7 @@ jobs:
14961528 fetch-depth : 0
14971529
14981530 - name : Install Rust
1499- uses : dtolnay/rust-toolchain@stable
1531+ uses : dtolnay/rust-toolchain@1.94.0
15001532
15011533 - name : Prove exact-candidate HC1 and HC2 coexistence
15021534 run : cargo run -p xtask --locked -- evidence-run --release 0.72 --gate tool.hydracache-server.management-hc1-hc2-coexistence-072
@@ -1530,7 +1562,7 @@ jobs:
15301562 fetch-depth : 0
15311563
15321564 - name : Install Rust
1533- uses : dtolnay/rust-toolchain@stable
1565+ uses : dtolnay/rust-toolchain@1.94.0
15341566
15351567 - name : Prove exact-candidate HC1 and HC2 coexistence
15361568 run : cargo run -p xtask --locked -- evidence-run --release 0.72 --gate tool.hydracache-server.management-hc1-hc2-coexistence-072
@@ -1569,7 +1601,7 @@ jobs:
15691601 uses : actions/checkout@v5
15701602
15711603 - name : Install Rust
1572- uses : dtolnay/rust-toolchain@stable
1604+ uses : dtolnay/rust-toolchain@1.94.0
15731605
15741606 - name : Cache Rust dependencies
15751607 uses : Swatinem/rust-cache@v2
@@ -1622,7 +1654,7 @@ jobs:
16221654 fetch-depth : 0
16231655
16241656 - name : Install Rust
1625- uses : dtolnay/rust-toolchain@stable
1657+ uses : dtolnay/rust-toolchain@1.94.0
16261658
16271659 - name : Cache Rust dependencies
16281660 uses : Swatinem/rust-cache@v2
@@ -1663,7 +1695,7 @@ jobs:
16631695 fetch-depth : 0
16641696
16651697 - name : Install Rust
1666- uses : dtolnay/rust-toolchain@stable
1698+ uses : dtolnay/rust-toolchain@1.94.0
16671699
16681700 - name : Install Go
16691701 uses : actions/setup-go@v6
@@ -2632,7 +2664,7 @@ jobs:
26322664 uses : actions/checkout@v5
26332665
26342666 - name : Install Rust
2635- uses : dtolnay/rust-toolchain@stable
2667+ uses : dtolnay/rust-toolchain@1.94.0
26362668
26372669 - name : Cache Rust dependencies
26382670 uses : Swatinem/rust-cache@v2
@@ -2657,7 +2689,7 @@ jobs:
26572689 uses : actions/checkout@v5
26582690
26592691 - name : Install Rust
2660- uses : dtolnay/rust-toolchain@stable
2692+ uses : dtolnay/rust-toolchain@1.94.0
26612693
26622694 - name : Cache Rust dependencies
26632695 uses : Swatinem/rust-cache@v2
@@ -2778,7 +2810,7 @@ jobs:
27782810 uses : actions/checkout@v5
27792811
27802812 - name : Install Rust
2781- uses : dtolnay/rust-toolchain@stable
2813+ uses : dtolnay/rust-toolchain@1.94.0
27822814
27832815 - name : Cache Rust dependencies
27842816 uses : Swatinem/rust-cache@v2
@@ -2918,7 +2950,7 @@ jobs:
29182950 fetch-depth : 0
29192951
29202952 - name : Install stable Rust
2921- uses : dtolnay/rust-toolchain@stable
2953+ uses : dtolnay/rust-toolchain@1.94.0
29222954
29232955 - name : Install pinned TSan nightly
29242956 timeout-minutes : 15
@@ -3006,7 +3038,7 @@ jobs:
30063038 fetch-depth : 0
30073039
30083040 - name : Install Rust
3009- uses : dtolnay/rust-toolchain@stable
3041+ uses : dtolnay/rust-toolchain@1.94.0
30103042 with :
30113043 components : llvm-tools-preview
30123044
@@ -3099,7 +3131,7 @@ jobs:
30993131 fetch-depth : 0
31003132
31013133 - name : Install Rust
3102- uses : dtolnay/rust-toolchain@stable
3134+ uses : dtolnay/rust-toolchain@1.94.0
31033135
31043136 - name : Cache Rust dependencies
31053137 uses : Swatinem/rust-cache@v2
0 commit comments