Skip to content

Commit c2ee474

Browse files
authored
ci: one workspace compile per lane; hash gate hard only on tags (#84)
* ci: one workspace compile per lane; hash gate hard only on tags Splitting the paired lanes (nextest + smoke shared a runner and serialized two ~10-min workspace-scale compiles) drops the verdict wall from ~24 to ~13 min for two extra cheap runners. The release hash gate goes soft on main pushes: every buildId-rotating merge turned the lane red until a manual record cycle, pure alarm fatigue for a push that publishes nothing — tags still verify hard and require ci-green. * chore: record artifact hashes for buildId 9ceb4469b65f
1 parent c1425b6 commit c2ee474

8 files changed

Lines changed: 29 additions & 11 deletions

.github/workflows/ci.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,30 @@ jobs:
136136
fail-fast: false
137137
matrix:
138138
include:
139-
- lane: x86 tests
139+
# One workspace-scale compile per lane: nextest's test-target
140+
# build and abgen-all (behind native-smoke) each cost ~10 min on
141+
# 4 cores, so pairing them serialized the verdict. Wall time is
142+
# the slowest single lane.
143+
- lane: x86 nextest
140144
runner: ubuntu-24.04
141145
system: x86_64-linux
142146
deps: .#checks.x86_64-linux.deps
143-
attrs: nextest native-smoke
144-
- lane: arm tests
147+
attrs: nextest
148+
- lane: x86 build + smoke
149+
runner: ubuntu-24.04
150+
system: x86_64-linux
151+
deps: .#checks.x86_64-linux.deps
152+
attrs: native-smoke
153+
- lane: arm nextest
154+
runner: ubuntu-24.04-arm
155+
system: aarch64-linux
156+
deps: .#checks.aarch64-linux.deps
157+
attrs: nextest
158+
- lane: arm lambda + smoke
145159
runner: ubuntu-24.04-arm
146160
system: aarch64-linux
147161
deps: .#checks.aarch64-linux.deps
148-
attrs: nextest lambda-tests native-smoke
162+
attrs: lambda-tests native-smoke
149163
- lane: arm lints
150164
runner: ubuntu-24.04-arm
151165
system: aarch64-linux

.github/workflows/release.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,11 @@ jobs:
413413
- name: verify artifact hashes
414414
env:
415415
ABGEN_RECORD_HASHES: ${{ inputs.record_hashes && '1' || '0' }}
416-
ABGEN_HASH_SOFT: ${{ (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main') && '0' || '1' }}
416+
# Hard only where bytes ship: every buildId-rotating merge turned
417+
# main's release lane red until a manual record cycle — pure
418+
# alarm fatigue, since main pushes publish nothing. Tags still
419+
# verify hard (and additionally require the ci-green gate).
420+
ABGEN_HASH_SOFT: ${{ startsWith(github.ref, 'refs/tags/') && '0' || '1' }}
417421
run: |
418422
set -eu
419423
# One artifact list for all six legs; nothing here is lane-specific.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ef8fd150d34c41a1a5b99235699418a5c5fbf241d4ebd878b3a1c0162eb17f38 abgen
1+
bb85ceda02b825d9c0e30c7d4871305e96a08eb7a6d0ce68fb0f9668d5048cd1 abgen
22
1da948b0f25bbf6a08eab696c88364ba8f757786f4f67ee665fb711edc6d610a abgen-host
33
dce6be9b3be156900901b876828c458f54b9a9651eb9513c3df82f5648752c38 libabgen.a
44
4d56cae697cf6f5361e567ec07bf72f5fd8b9c877a331824d185e6093731c9cb libabgen.dylib
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
d4808081567358060abd293383a285086399b279a11720e41fe0c8c07792f8b5 abgen-host.exe
22
935ad502bded6f44bfc3484dd021f80b4641705c298f925c109da8bb81a91a94 abgen.dll
3-
5fc6635db86777cc628d5529949f650fc1bc07b8d8f004a1b9d88340019f332d abgen.exe
3+
e27e1435b1d98fc2106b1b6d46ab9acf6babe537dbaab471aa45d145ff1f5882 abgen.exe
44
3ce5a8d6a48772d6ce22af031254e8ccdc06a73f61df94ecf7d38736f5f42b57 libabgen.a
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cdbbb65bb03646ddbd4861d215a5227cb9ccb272e4e7bd738bd080ad5ea5b9e8 abgen
1+
019bfefddb13f9bbe4c0fadc20505ddbd05f571f576986e16bd5eb76ee97adbb abgen
22
d096f4d8a5e2b27895205150a0879fa784e3d111b8c404f3e6a8d6983771c013 abgen-host
33
24a8e4bbd65375bc205a891e804714f7145916f63bc14fd9c18f164e726d5ef3 libabgen.a
44
8752e467191f1f4fd8567e333de3aaa7f85cf4d513a210ac1f4659175f76e0e1 libabgen.so
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
6545fe7c7961f5ab4e233bc72c5c49c5b6989224ccd022372a1319b10f5681c6 abgen
1+
a92d115c8db8398ebb97e90c9a64689ac89ad32f1c212e8a7838640521e3b55c abgen
22
1b3f6a7d2d72f8c1015a98f2775df134b3153aa8fbfbcca141871bb1b80ccbea abgen-host
33
374b91496930375be4710b881b483facc054ea9257b050e6c06f3c6a431672a8 libabgen.a
44
aaa5fd7502bd4f8dab229c0417cdce4b9ab495708e9e0bd6d89c4bf1f8fce18d libabgen.dylib
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
166a0827b277a121a25b92ac6898c7e75ff9fa15e9d543ab5b2791129f1669dd abgen-host.exe
22
5db801c7a094320ee79c312729f55872a0c297dd5bd6ee3d99d4c951cf351c9f abgen.dll
3-
8ad1ae79ad541bca088720298aeabc7907ac56faba8b713004258c8ae5e1cf7b abgen.exe
3+
0e089766b2d00752c943906f9435f7e912730e96a95b7ebac7de436d00275038 abgen.exe
44
8da09759799bf7469af8f6d54c24e44aeb183b069e8a7c863943081f39289222 libabgen.a
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
edd5aed02a135aeda158f8eadfe89567bd8d1c5216537a39c3fed373262ab2fd abgen
1+
5179094d700fa4d4fdfcf84f8c46b44304874c147d80647a3e2ef7f1e7e21f85 abgen
22
0b02c02cd48179088fa448f64bac876ad3c85da913bf731c00a09a5824a05085 abgen-host
33
cfa42ad0993b53d0ca6dd01bf736776663ba921b2f0163aa5f67ce7b2df5c0cf libabgen.a
44
eb4c8a225d543ade5a0ede260fa75b94db8b9dc474777e856b5ad9a091104292 libabgen.so

0 commit comments

Comments
 (0)