Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
f11b90c
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 28, 2026
b1d1df6
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 28, 2026
24e8ba9
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 28, 2026
e948ea5
chore(ci): regen ci_github_actions_workflow.dag for M1 cargo-check en…
briansrls May 28, 2026
f39cf8c
fix(T-24): align workflow_policy Rust paths with ci.dag + P5 SG-0 census
briansrls May 29, 2026
3001a9c
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
f972a23
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
52d6d7e
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
09a949e
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
3dd0cd7
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
dc831ce
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
6cb45e7
fix(ci): SG-0 pairing (c) must include dispatch word for PR #3853
briansrls May 29, 2026
8b89257
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
1a3804b
fix(T-24): replace unsupported ReadFailClosed rest pattern in ci.dag
briansrls May 29, 2026
2d7de19
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
dc4e020
fix(T-24): keep != on one line in ci.dag runner-pool witness
briansrls May 29, 2026
e233966
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
371f290
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
b06f766
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
248fd6f
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
f45a3b9
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
820e6da
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
da99b93
fix(ci): complete Wasm/Swift law-key handlers in strict_deprose_dag.py
briansrls May 29, 2026
7f2cfda
merge origin/main: keep complete WasmModelCoreLawKey handler
briansrls May 29, 2026
c50e9fa
merge origin/main: accept strict_deprose dissolution (#3864)
briansrls May 29, 2026
1096ee4
fix(p5): cite T-PB-A for T-24 non-test hand-Rust receipts
briansrls May 29, 2026
f51fba6
Merge remote-tracking branch 'origin/main' into session/wise-otter-34
briansrls May 29, 2026
c02b9c8
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
e99b157
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
8c6d970
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
b90bd9d
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
052badd
chore: apply cargo fmt (CI fmt gate on b90bd9d)
briansrls May 29, 2026
25a2259
fix(docs): clarify ci.dag is modeled authority, Rust is parity mirror
briansrls May 29, 2026
d88f7c1
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
7aa89d7
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
8b1b4ec
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
548516d
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
6e8d026
fix(ci.dag): close RunnerArch to Arm64 — delete open Unknown fallback
briansrls May 29, 2026
b2d8ad8
fix(ci.dag): restore single-variant RunnerArch enum for v4 compile
briansrls May 29, 2026
9399374
fix(ci.dag): rename RunnerArch variant to RunnerArchArm64 for v4 compile
briansrls May 29, 2026
fa18615
fix(ci.dag): drop RunnerArch coproduct — Lens-CI entry compile cannot…
briansrls May 29, 2026
4a6cb48
Merge remote-tracking branch 'origin/main' into session/wise-otter-34
briansrls May 29, 2026
a3e8947
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
e01bb30
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
dab7630
chore: apply cargo fmt (CI fmt gate on e01bb307e)
briansrls May 29, 2026
9485d7c
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
fd00928
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
01d5ae8
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
86399c5
fix: correct SG-0 hand-path delta to +1 for T-24 census net
briansrls May 29, 2026
4a9193a
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
8bf1694
chore: apply cargo fmt after SelfHostedRunnerPool arch field
briansrls May 29, 2026
5f28e08
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
fc2d8e8
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
35f3f5f
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
1ab9c62
fix: wire runner pool capacity validators into TestClaim
briansrls May 29, 2026
8411215
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
62d65e4
fix: correct set-equality parity extraction for pub fn bodies
briansrls May 29, 2026
5d4a4fd
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
1727784
fix(pr-3853): add P5(b) receipt for smoke-test same-path expansion
briansrls May 29, 2026
836af8c
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
a63b7a8
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
4804ca0
WIP: T-24: workflow/ci.dag emits ci.yml — dissolve detect-affected-co…
briansrls May 29, 2026
414f7d4
merge(main): absorb #3891 wasm emit perf fix for CI M1 timeout
briansrls May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,10 @@ jobs:
run: rustup default "$(rustup show active-toolchain | awk '{print $1; exit}')"
- name: cargo fmt --all --check
run: cargo fmt --all --check
# Affected-set detection — drives gating of v2/v3 jobs (frozen components
# only run their heavy CI when their source is touched, or on push-to-main
# for trunk verification). Cheap (~30s); other jobs depend on its outputs.
# Affected-set detection — drives gating of v2/v3/v4 jobs (path buckets modeled in
# `src/v4/workflow/ci.dag`; host transport `detect-ci-affected-components` in
# `tools/ci_affected_components`, outside v3-compiler so v3=false can emit without
# compiling the frozen v3 package). First run on a cold runner compiles this tiny crate only.
affected:
if: github.event.pull_request.draft != true
runs-on: [self-hosted, linux, arm64]
Expand All @@ -72,18 +73,29 @@ jobs:
v4: ${{ steps.detect.outputs.v4 }}
workflow_policy: ${{ steps.detect.outputs.workflow_policy }}
steps:
- name: Isolate toolchain dirs (srv1/srv2 shared-$HOME concurrent-rustup race)
run: |
echo "CARGO_HOME=$RUNNER_TEMP/cargo" >> "$GITHUB_ENV"
echo "RUSTUP_HOME=$RUNNER_TEMP/rustup" >> "$GITHUB_ENV"
- name: Clear inherited GitHub auth header (shared runner HOME)
run: git config --global --unset-all http.https://github.com/.extraheader || true
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1.16.0
with:
cache: false
rustflags: ''
- name: Pin global rustup default (isolated RUSTUP_HOME has no default toolchain)
run: rustup default "$(rustup show active-toolchain | awk '{print $1; exit}')"
- name: Fetch main for diff base
if: github.event_name == 'pull_request'
run: git fetch origin main:refs/remotes/origin/main
- name: Detect affected components
id: detect
run: bash scripts/detect-affected-components.sh "${{ github.event_name }}" "$GITHUB_OUTPUT"
run: cargo run -p ci_affected_components --bin detect-ci-affected-components -- "${{ github.event_name }}" "$GITHUB_OUTPUT"
ci:
if: github.event.pull_request.draft != true
needs: [affected]
Expand Down Expand Up @@ -230,6 +242,7 @@ jobs:
timeout-minutes: 20
env:
V4_M1_RUST_EMIT_OUT: ${{ runner.temp }}/v4-rust-emit
V4_M1_CARGO_CHECK_JOBS: "4"
run: bash scripts/v4-m1-rust-emit-probe.sh
- name: v2 → v4 bootstrap compile (fail-closed full)
if: needs.affected.outputs.v4 == 'true'
Expand Down
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ members = [
"src/v2/tests",
"src/v3/compiler",
"tools/gen_gunbc_ci_workflow_dag",
"tools/ci_affected_components",
"src/v3/grounding_pilot",
"src/v3/grounding_engine",
"src/v3/grounding_lifetime",
Expand Down
5 changes: 4 additions & 1 deletion _internal/INVARIANTS_OPS.md

Large diffs are not rendered by default.

33 changes: 31 additions & 2 deletions dsl/gunbc/ci_github_actions_workflow.dag
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,16 @@ data gunbc_ci_github_actions_workflow: Workflow = {
name: none,
runner: SelfHosted { labels: ["self-hosted", "linux", "arm64"] },
steps: [RunStep {
name: Some { value: "Isolate toolchain dirs (srv1/srv2 shared-$HOME concurrent-rustup race)" },
id: none,
run: "echo \"CARGO_HOME=$RUNNER_TEMP/cargo\" >> \"$GITHUB_ENV\"\necho \"RUSTUP_HOME=$RUNNER_TEMP/rustup\" >> \"$GITHUB_ENV\"\n",
shell: Bash,
env: none,
working_directory: none,
if_condition: none,
continue_on_error: false,
timeout_minutes: none
}, RunStep {
name: Some { value: "Clear inherited GitHub auth header (shared runner HOME)" },
id: none,
run: "git config --global --unset-all http.https://github.com/.extraheader || true",
Expand All @@ -119,6 +129,25 @@ data gunbc_ci_github_actions_workflow: Workflow = {
if_condition: none,
continue_on_error: false,
timeout_minutes: none
}, UsesStep {
name: Some { value: "Setup Rust" },
id: none,
uses: { owner: "actions-rust-lang", repo: "setup-rust-toolchain", ref: "v1.16.0" },
with: { "cache": "false", "rustflags": "" },
env: none,
if_condition: none,
continue_on_error: false,
timeout_minutes: none
}, RunStep {
name: Some { value: "Pin global rustup default (isolated RUSTUP_HOME has no default toolchain)" },
id: none,
run: "rustup default \"$(rustup show active-toolchain | awk '{print $1; exit}')\"",
shell: Bash,
env: none,
working_directory: none,
if_condition: none,
continue_on_error: false,
timeout_minutes: none
}, RunStep {
name: Some { value: "Fetch main for diff base" },
id: none,
Expand All @@ -132,7 +161,7 @@ data gunbc_ci_github_actions_workflow: Workflow = {
}, RunStep {
name: Some { value: "Detect affected components" },
id: Some { value: "detect" },
run: "bash scripts/detect-affected-components.sh \"${{ github.event_name }}\" \"$GITHUB_OUTPUT\"",
run: "cargo run -p ci_affected_components --bin detect-ci-affected-components -- \"${{ github.event_name }}\" \"$GITHUB_OUTPUT\"",
shell: Bash,
env: none,
working_directory: none,
Expand Down Expand Up @@ -453,7 +482,7 @@ data gunbc_ci_github_actions_workflow: Workflow = {
id: none,
run: "bash scripts/v4-m1-rust-emit-probe.sh",
shell: Bash,
env: { "V4_M1_RUST_EMIT_OUT": "${{ runner.temp }}/v4-rust-emit" },
env: { "V4_M1_RUST_EMIT_OUT": "${{ runner.temp }}/v4-rust-emit", "V4_M1_CARGO_CHECK_JOBS": "4" },
working_directory: none,
if_condition: Some { value: "needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true'" },
continue_on_error: true,
Expand Down
5 changes: 5 additions & 0 deletions scripts/ci-merge/sg0-pr-body-append.3853.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SG-0 hand-path delta: +0

SG-0 pairing: (c) Net +0 on `EXPECTED_HAND_AUTHORED_NON_TEST` — T-24 interim Rust mirrors (`tools/ci_affected_components` lib/main/runner_pool) live outside v3-compiler SG-0 census with INVARIANTS §P5(b) rows. Follow-up dispatch: dissolve when `ci.dag` eval / generated CI runner owns affected-set and M1 parallelism without parallel Rust path logic (T-24 emission slice; tracked gunbc#3853).

This comment was marked as resolved.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified valid at 5d4a4fd8. Fixed in 1727784fd:

No new census line; expansion is accounted under mechanism (b) per peer PRs (e.g. emit_translate same-path expansions).


SG-0 pairing: (c) Net +0 on `EXPECTED_HAND_AUTHORED_TEST` — same-path expansion of `v4_workflow_ci_runner_dag_smoke_test.rs` (INVARIANTS §P5(b) row updated per PR #3853): set-equality `ci.dag` ↔ `tools/ci_affected_components` path-bucket parity (`v4_workflow_ci_workflow_policy_prefixes_align_rust_mirror`, `v4_workflow_ci_component_bucket_prefixes_align_rust_mirror`) plus behavioral fixtures aligned with `ci_component_affected.dag` (`assert_ci_dag_rust_mirror_full_parity` in M1 `--exact` binding step). Deferral: `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`; dissolve when affected-set projection runs from `.dag` eval only (tracked gunbc#3853).
122 changes: 0 additions & 122 deletions scripts/detect-affected-components.sh

This file was deleted.

6 changes: 4 additions & 2 deletions scripts/v4-m1-rust-emit-probe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
# V4_M1_RUSTC_LOG — cargo check log (default: ${OUT}.rustc.log)
# V4_M1_RUST_EMIT_PROBE_STRICT — if 1, exit non-zero when compile or rustc fails
# V4_M1_RUSTC_TIMEOUT_SECS — optional timeout for cargo check (CI: 600)
# V4_M1_CARGO_CHECK_JOBS — parallelism cap for cargo check (default: 4)
# V4_M1_CARGO_CHECK_JOBS — parallelism cap for cargo check (default: 4; modeled
# as m1_probe_cargo_check_jobs in src/v4/workflow/ci.dag)

set -euo pipefail

Expand Down Expand Up @@ -115,7 +116,8 @@ if [[ "$compile_status" -eq 0 && -f "$out/Cargo.toml" ]]; then
fi
# Cap parallelism: many concurrent CI runs each fan out rustc workers through
# ctrl-build wrappers; without a cap the aggregate process count can reach swap
# on shared self-hosted runners (incident 2026-05-28).
# on shared self-hosted runners (incident 2026-05-28). CI sets
# V4_M1_CARGO_CHECK_JOBS from v4.workflow.ci `m1_probe_cargo_check_jobs` (srv1/srv2 pool).
cargo_check_jobs="${V4_M1_CARGO_CHECK_JOBS:-4}"
set +e
if [[ -n "$rustc_timeout" ]]; then
Expand Down
1 change: 1 addition & 0 deletions src/v3/compiler/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ libc = { version = "0.2", default-features = false }
# `docs/briefs/r3-pb-tier3-perf-budget-worker.md` deliverable 0a/0b.
criterion = "0.5"
gen_gunbc_ci_workflow_dag = { path = "../../../tools/gen_gunbc_ci_workflow_dag" }
ci_affected_components = { path = "../../../tools/ci_affected_components" }
serde = { workspace = true }
serde_json = { workspace = true }
# T-V2 G-1 manifest ratchet: structured Cargo.toml walk (`toml` value parse).
Expand Down
Loading
Loading