Fix ruff format on email.py — CI deploy blocker #332

Closed
opened 2026-04-04 05:49:07 +00:00 by forgejo_admin · 1 comment

Type

Bug

Lineage

Discovered after merging email PRs #317, #318, #329. All 3 failed CI ruff format --check step, blocking update-kustomize-tag and preventing deploy.

NOTE: Fix was pushed directly to main (commit 5ad9fab) without a PR. Retroactive scoping.

Repo

forgejo_admin/basketball-api

What Broke

ruff format --check failed on email.py after 3 email PRs merged. The CI test step returned exit 1, which skipped update-kustomize-tag, meaning none of the email endpoints deployed despite images building successfully.

Repro Steps

  1. Merge PR #318 (welcome email)
  2. Merge PR #317 (queens email)
  3. Merge PR #329 (local teams email)
  4. All 3 CI pipelines fail on ruff format --check src/basketball_api/services/email.py

Expected Behavior

CI should pass. Agents should run ruff format --check before pushing.

Environment

File Targets

  • src/basketball_api/services/email.py — formatting fix (commit 5ad9fab)

Acceptance Criteria

  • ruff format applied to email.py
  • CI pipeline #331 passed all steps including update-kustomize-tag
  • All 3 email endpoints deployed

Test Expectations

  • Pipeline #331 success

Constraints

  • This was a direct push to main — should have been a PR
  • Root cause: dev agents don't run ruff format --check before pushing

Checklist

  • Fix applied (commit 5ad9fab, pushed directly to main)
  • CI passing
  • Convention added: agents must run ruff format before pushing
  • westside-basketball — project this affects
  • basketball-api#311, #312, #313 — the email PRs that caused this
### Type Bug ### Lineage Discovered after merging email PRs #317, #318, #329. All 3 failed CI `ruff format --check` step, blocking `update-kustomize-tag` and preventing deploy. **NOTE: Fix was pushed directly to main (commit 5ad9fab) without a PR. Retroactive scoping.** ### Repo `forgejo_admin/basketball-api` ### What Broke `ruff format --check` failed on `email.py` after 3 email PRs merged. The CI test step returned exit 1, which skipped `update-kustomize-tag`, meaning none of the email endpoints deployed despite images building successfully. ### Repro Steps 1. Merge PR #318 (welcome email) 2. Merge PR #317 (queens email) 3. Merge PR #329 (local teams email) 4. All 3 CI pipelines fail on `ruff format --check src/basketball_api/services/email.py` ### Expected Behavior CI should pass. Agents should run `ruff format --check` before pushing. ### Environment - Woodpecker CI pipelines #328, #330 (failed), #331 (fixed) ### File Targets - `src/basketball_api/services/email.py` — formatting fix (commit 5ad9fab) ### Acceptance Criteria - [x] `ruff format` applied to email.py - [x] CI pipeline #331 passed all steps including `update-kustomize-tag` - [x] All 3 email endpoints deployed ### Test Expectations - [x] Pipeline #331 success ### Constraints - This was a direct push to main — should have been a PR - Root cause: dev agents don't run `ruff format --check` before pushing ### Checklist - [x] Fix applied (commit 5ad9fab, pushed directly to main) - [x] CI passing - [ ] Convention added: agents must run ruff format before pushing ### Related - `westside-basketball` — project this affects - basketball-api#311, #312, #313 — the email PRs that caused this
Author
Owner

Scope Review: READY

Review note: review-791-2026-04-03

Fix verified: ruff format --check passes on email.py and all 91 repo files. Pre-commit hooks exist but were bypassed.

  • [SCOPE] Create architecture note arch-basketball-api in pal-e-docs
  • [SCOPE] Unchecked checklist item (agent ruff convention) should become a separate Forgejo issue to enforce pre-commit in agent workflows — discovered scope
## Scope Review: READY Review note: `review-791-2026-04-03` Fix verified: `ruff format --check` passes on email.py and all 91 repo files. Pre-commit hooks exist but were bypassed. - **[SCOPE]** Create architecture note `arch-basketball-api` in pal-e-docs - **[SCOPE]** Unchecked checklist item (agent ruff convention) should become a separate Forgejo issue to enforce pre-commit in agent workflows — discovered scope
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/basketball-api#332
No description provided.