Skip to content

Commit 279ac11

Browse files
claudehyperpolymath
authored andcommitted
ci+chore: fix in-repo CI failures and clear rsr-template residue
Pre-existing red checks on main, fixed where the cause lives in this repo: - e2e.yml: every job block shipped commented out, leaving `jobs:` empty — an invalid workflow that failed on every run. Replaced with a valid no-op (coordination repo has no application code to E2E; per-project E2E lives in the constituent repos). - rust-ci.yml: thin wrapper around the estate Rust reusable; this coordination repo has no Rust, so the reusable failed with nothing to build. Path-gated to Rust artefacts so it only runs if Rust is ever added here (currently never). rsr-template residue cleanup (OQ-002): - Justfile: project/REPO identity rsr-template-repo -> nextgen-typing. - docs/developer/ABI-FFI-README.adoc: was a 388-line doc describing a src/interface/Abi + ffi/zig layout this coordination repo does not have (and which re-misled agents into adding ABI/FFI code here). Replaced with a short pointer to typed-wasm + placement.a2ml. Out of scope (need access this session lacks): scorecard/governance/hypatia call hyperpolymath/standards reusables; mirror/instant-sync need org secrets; release is tag-only; quality startup_failure needs further triage. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X2UKV63H4584CQ66qdgxZy
1 parent 836aba8 commit 279ac11

4 files changed

Lines changed: 44 additions & 554 deletions

File tree

.github/workflows/e2e.yml

Lines changed: 19 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -1,190 +1,37 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
4-
# RSR Standard E2E + Aspect + Benchmark Workflow Template
5-
#
6-
# Covers ALL merge requirement test categories:
7-
# - E2E (end-to-end pipeline tests)
8-
# - Aspect (cross-cutting concern validation)
9-
# - Benchmarks (performance regression detection)
10-
# - Readiness (Component Readiness Grade: D/C/B)
11-
#
12-
# INSTRUCTIONS: Uncomment and customise the section matching your stack.
13-
# Delete sections that don't apply. See examples in each job.
14-
4+
# nextgen-typing is a COORDINATION repo — it has no application/compiler code
5+
# to exercise end-to-end (see AGENTS.md / .machine_readable/bot_directives/placement.a2ml).
6+
# The estate E2E template ships with every job commented out, which leaves
7+
# `jobs:` empty and makes the workflow invalid, so it failed on every run.
8+
# This is a valid no-op that passes; per-project E2E lives in the constituent
9+
# repos (typell, typed-wasm, ...).
1510
name: E2E + Aspect + Bench
1611

1712
on:
1813
push:
1914
branches: [main, master, develop]
20-
paths:
21-
- 'src/**'
22-
- 'ffi/**'
23-
- 'tests/**'
24-
- '.github/workflows/e2e.yml'
2515
pull_request:
2616
branches: [main, master]
27-
paths:
28-
- 'src/**'
29-
- 'ffi/**'
30-
- 'tests/**'
3117
workflow_dispatch:
3218

33-
permissions: read-all
19+
permissions:
20+
contents: read
3421

3522
concurrency:
3623
group: e2e-${{ github.ref }}
3724
cancel-in-progress: true
3825

3926
jobs:
40-
# ─── End-to-End Tests ──────────────────────────────────────────────
41-
# Uncomment ONE of the following e2e job blocks matching your stack.
42-
43-
## === RUST E2E ===
44-
# e2e:
45-
# name: E2E — Full Pipeline
46-
# runs-on: ubuntu-latest
47-
# timeout-minutes: 15
48-
# steps:
49-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
50-
# - uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
51-
# - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
52-
# - run: cargo build --release
53-
# - run: bash tests/e2e.sh
54-
# # OR: cargo test --test end_to_end -- --nocapture
55-
56-
## === ZIG FFI E2E ===
57-
# e2e:
58-
# name: E2E — FFI Pipeline
59-
# runs-on: ubuntu-latest
60-
# timeout-minutes: 15
61-
# steps:
62-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
63-
# - uses: goto-bus-stop/setup-zig@abea47f85e598557f500fa1fd2ab7464fcb39406 # v2.2.1
64-
# with:
65-
# version: 0.15.0
66-
# - run: cd ffi/zig && zig build test
67-
# - run: bash tests/e2e.sh
68-
69-
## === ELIXIR E2E ===
70-
# e2e:
71-
# name: E2E — Full Pipeline
72-
# runs-on: ubuntu-latest
73-
# timeout-minutes: 15
74-
# steps:
75-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
76-
# - uses: erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1.24.0
77-
# with:
78-
# otp-version: '27.0'
79-
# elixir-version: '1.17'
80-
# - run: mix deps.get && mix compile --warnings-as-errors
81-
# - run: mix test test/integration/e2e_test.exs --trace
82-
83-
## === DENO/RESCRIPT E2E ===
84-
# e2e:
85-
# name: E2E — Full Pipeline
86-
# runs-on: ubuntu-latest
87-
# timeout-minutes: 15
88-
# steps:
89-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
90-
# - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4
91-
# with:
92-
# deno-version: v2.x
93-
# - run: deno install --node-modules-dir=auto
94-
# - run: deno task res:build # ReScript compile
95-
# - run: deno test tests/e2e/
96-
97-
## === PLAYWRIGHT (Browser E2E) ===
98-
# e2e-playwright:
99-
# name: Playwright — ${{ matrix.project }}
100-
# runs-on: ubuntu-latest
101-
# timeout-minutes: 20
102-
# strategy:
103-
# fail-fast: false
104-
# matrix:
105-
# project: [chromium-1080p, firefox-1080p, webkit-1080p]
106-
# steps:
107-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
108-
# - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4
109-
# with:
110-
# deno-version: v2.x
111-
# - run: deno install --node-modules-dir=auto
112-
# - run: npx playwright install --with-deps
113-
# - run: npx playwright test --project=${{ matrix.project }}
114-
# - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
115-
# if: failure()
116-
# with:
117-
# name: playwright-traces-${{ matrix.project }}
118-
# path: test-results/**/trace.zip
119-
# retention-days: 7
120-
121-
## === HASKELL E2E ===
122-
# e2e:
123-
# name: E2E — Full Pipeline
124-
# runs-on: ubuntu-latest
125-
# timeout-minutes: 15
126-
# steps:
127-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
128-
# - uses: haskell-actions/setup@cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553 # v2.11.0
129-
# with:
130-
# ghc-version: '9.6'
131-
# cabal-version: '3.10'
132-
# - run: cabal build all
133-
# - run: bash tests/integration-test.sh
134-
135-
# ─── Aspect Tests ──────────────────────────────────────────────────
136-
# Cross-cutting concerns: thread safety, ABI contracts, SPDX, dangerous patterns
137-
# Uncomment and customise:
138-
139-
# aspect-tests:
140-
# name: Aspect — Architectural Invariants
141-
# runs-on: ubuntu-latest
142-
# timeout-minutes: 10
143-
# steps:
144-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
145-
# - run: bash tests/aspect_tests.sh
146-
147-
# ─── Benchmarks ────────────────────────────────────────────────────
148-
# Performance regression detection. Uncomment matching stack:
149-
150-
## === RUST BENCH ===
151-
# benchmarks:
152-
# name: Bench — Performance Regression
153-
# runs-on: ubuntu-latest
154-
# timeout-minutes: 15
155-
# steps:
156-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
157-
# - uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
158-
# - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
159-
# - run: cargo bench 2>&1 | tee /tmp/bench-results.txt
160-
# - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
161-
# if: always()
162-
# with:
163-
# name: benchmark-results
164-
# path: /tmp/bench-results.txt
165-
# retention-days: 30
166-
167-
## === ZIG BENCH ===
168-
# benchmarks:
169-
# name: Bench — Performance Regression
170-
# runs-on: ubuntu-latest
171-
# timeout-minutes: 15
172-
# steps:
173-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
174-
# - uses: goto-bus-stop/setup-zig@abea47f85e598557f500fa1fd2ab7464fcb39406 # v2.2.1
175-
# with:
176-
# version: 0.15.0
177-
# - run: cd ffi/zig && zig build bench
178-
179-
# ─── Readiness (CRG) ──────────────────────────────────────────────
180-
# Component Readiness Grade: D (runs) → C (correct) → B (edge cases)
181-
182-
# readiness:
183-
# name: Readiness — Grade D/C/B
184-
# runs-on: ubuntu-latest
185-
# timeout-minutes: 10
186-
# steps:
187-
# - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
188-
# - uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
189-
# - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
190-
# - run: cargo test --test readiness -- --nocapture
27+
e2e:
28+
name: E2E (coordination repo — nothing to exercise)
29+
runs-on: ubuntu-latest
30+
timeout-minutes: 5
31+
steps:
32+
- name: No application code to test
33+
run: |
34+
echo "nextgen-typing coordinates the type-theory pipeline; it holds no"
35+
echo "compiler/application code. End-to-end, aspect, and benchmark tests"
36+
echo "live in the owning repos (typell, typed-wasm, ...)."
37+
echo "See .machine_readable/bot_directives/placement.a2ml."

.github/workflows/rust-ci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,18 @@
22
# Rust CI — thin wrapper calling the shared estate reusable in
33
# hyperpolymath/standards. Configure once, propagate everywhere.
44
# See: docs/CI-REUSABLE-WORKFLOWS.adoc in standards.
5+
#
6+
# nextgen-typing is a coordination repo with NO Rust code, so the reusable had
7+
# nothing to build and failed. Path-gated to Rust artefacts so it only runs if
8+
# Rust is ever added here (currently never), instead of failing on every push.
59
name: Rust CI
610

711
on:
812
push:
913
branches: [main, master]
14+
paths: ['**/*.rs', '**/Cargo.toml', '**/Cargo.lock', 'crates/**']
1015
pull_request:
16+
paths: ['**/*.rs', '**/Cargo.toml', '**/Cargo.lock', 'crates/**']
1117

1218
permissions:
1319
contents: read

Justfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ set positional-arguments := true
1919
import? "contractile.just"
2020

2121
# Project metadata — customize these
22-
project := "rsr-template-repo"
22+
project := "nextgen-typing"
2323
OWNER := "hyperpolymath"
24-
REPO := "rsr-template-repo"
24+
REPO := "nextgen-typing"
2525
version := "0.1.0"
2626
tier := "infrastructure" # 1 | 2 | infrastructure
2727

0 commit comments

Comments
 (0)