diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a289bfd..1baed5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: RMI CI on: push: - branches: [main] + branches: [main, feat/scanners-p4-8-cont, feat/*] pull_request: - branches: [main] + branches: [main, feat/scanners-p4-8-cont, feat/*] # T14 fix (RMI v5 §G09): every PR must build clean + emit a real OpenAPI # schema. Catches factory regressions BEFORE merge so SDKs and MCP @@ -12,7 +12,7 @@ on: # # Phase 1 of AUDIT-2026-Q3.md item P1.6: # - CI was 6/8 decorative (|| true / continue-on-error: true on every job) -# - Now: 3 GATING jobs (build + test + typecheck-gate) must pass for merge +# - Now: 4 GATING jobs (build + test + typecheck-gate + lint) must pass for merge # - 6 INFORMATIONAL jobs (lint-info, typecheck-full-info, etc.) report but never gate # - Forgejo .forgejo/workflows/ci.yml remains the authoritative gate @@ -78,11 +78,9 @@ jobs: # ────────────────────────── INFORMATIONAL JOBS (fire-and-forget) ────────────────────────── - lint-info: - name: Lint (info only) - if: always() + lint: + name: Lint (gate) runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v2 @@ -91,14 +89,13 @@ jobs: python-version: "3.11" - name: Install ruff run: uv pip install --system ruff - - name: Run ruff lint (informational) - run: ruff check . --statistics --output-format=concise 2>&1 | tail -30 || true + - name: Run ruff lint (gate) + run: ruff check . typecheck-full-info: name: Typecheck full codebase (info only) if: always() runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v2 @@ -114,7 +111,6 @@ jobs: name: Security (info only) if: always() runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v2 @@ -134,7 +130,6 @@ jobs: name: OpenAPI (info only) if: always() runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v2 @@ -156,7 +151,6 @@ jobs: name: Qdrant cleanup (info only) if: always() runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -173,7 +167,6 @@ jobs: name: Heartbeat (info only) if: always() runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - name: Verify .gitmodules is consistent