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:
parent
f01d7b6828
commit
50f9735d0b
1 changed files with 7 additions and 14 deletions
21
.github/workflows/ci.yml
vendored
21
.github/workflows/ci.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue