From 466373f342ccd0b5449ed3131a7a862679fed964 Mon Sep 17 00:00:00 2001 From: Sean Silvius Date: Sun, 2 Aug 2026 22:23:11 -0700 Subject: [PATCH] ci: minimal spec-sanity workflow -- conflict markers + SPEC.md section structure The repo had zero workflows, so every PR head had zero check runs and legion pr merge refused all of them (#736, non-overridable by design). Bash only: a spec repo's CI should not invent a toolchain. Closes #21 Co-Authored-By: Claude Fable 5 --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..554443d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: spec-sanity +on: + pull_request: + push: + branches: [main] +jobs: + spec-sanity: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: No merge-conflict markers + run: | + if grep -rn --include='*' -E '^(<{7}|={7}$|>{7})' --exclude-dir=.git .; then + echo '::error::merge-conflict markers found in tracked files' + exit 1 + fi + - name: SPEC.md section structure + run: | + missing=0 + for n in 1 2 3 4 5 6 7 8 9 10 11; do + if ! grep -qE "^## ${n}\." SPEC.md; then + echo "::error file=SPEC.md::missing section heading '## ${n}.'" + missing=1 + fi + done + exit $missing