From 0a864976c44143ba6087324dd5f9d1349e52a5b2 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 25 May 2026 04:42:52 +0000 Subject: [PATCH] feat(ci): add Python lint job with ruff Adds an unconditional lint job that runs ruff check and ruff format on every PR and push. Both steps are advisory (continue-on-error) until pre-existing issues are resolved. The build job now depends on lint (needs: [lint]), matching the hriv pattern where build jobs gate on quality checks. This also fixes the release-please required checks issue: the lint job always runs and reports a status, unlike build-qcon-api which skips via change detection on metadata-only PRs. Co-Authored-By: kyle_hunter@bcit.ca --- .github/workflows/ci.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 11a872c..d8770e1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,6 +20,29 @@ permissions: contents: read jobs: + # Python quality gate + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-python@v6 + with: + python-version: "3.11" + + - name: Install ruff + run: pip install ruff + + # Advisory until pre-existing lint errors are resolved. + - name: Lint (ruff check) + continue-on-error: true + run: ruff check . + + - name: Format check (ruff format) + continue-on-error: true + run: ruff format --check . + # Chart quality gate helm-lint: @@ -46,6 +69,7 @@ jobs: # Container image build/publish (reusable workflow) build-qcon-api: + needs: [lint] uses: bcit-tlu/.github/.github/workflows/oci-build.yaml@main permissions: contents: read