ci(rmi-backend): make ruff lint a gating job, expand branch trigger

Promote lint-info to a real gate (no continue-on-error, no || true).
Trigger CI on feat/scanners-p4-8-cont and all feat/* branches, not just
main. Now 4 gating jobs must pass: build, test, typecheck-gate, lint.
This commit is contained in:
Crypto Rug Munch 2026-07-08 04:34:52 +02:00
parent f01d7b6828
commit 50f9735d0b

View file

@ -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