Phase 1a: Fix CI pipeline — venv in test step #11

Closed
opened 2026-03-09 18:25:21 +00:00 by forgejo_admin · 0 comments

Lineage

plan-2026-03-08-tryout-prep → Phase 1 → Phase 1a (CI fix)

Repo

forgejo_admin/basketball-api

User Story

As a developer
I want the CI pipeline to pass on main
So that new code deploys to the cluster via ArgoCD

Context

Woodpecker CI test step fails because pip install .[dev] runs in a bare python:3.12-slim container. PEP 668 blocks system-wide pip installs without --break-system-packages. The package never installs, so all tests fail with ModuleNotFoundError: No module named 'basketball_api'.

CI has been failing since PR #7. This means PR #10 (registration form, merged to main) has NOT deployed — ArgoCD never gets a new image because the build-and-push step is gated on test success.

25 tests pass locally in a venv.

File Targets

Files the agent should modify:

  • .woodpecker.yaml — test step only: add venv creation

Files the agent should NOT touch:

  • .woodpecker.yaml build-and-push step — leave as-is
  • Any application code

Acceptance Criteria

  • CI test step creates a venv and runs pip/ruff/pytest through it
  • Pipeline #13+ passes on main
  • build-and-push step runs and pushes a new image to Harbor
  • ArgoCD picks up the new image and deploys

Test Expectations

  • Woodpecker pipeline passes on main (no local tests needed — this is a CI-only fix)

Constraints

  • Do not change the build-and-push step
  • Do not change any application code
  • Commit directly to main (CI fix, not a feature)

Checklist

  • Commit pushed to main
  • Pipeline passes
  • No unrelated changes
  • project-westside-basketball
  • Phase 1 (PR #10) is merged but NOT deployed because of this CI failure
### Lineage `plan-2026-03-08-tryout-prep` → Phase 1 → Phase 1a (CI fix) ### Repo `forgejo_admin/basketball-api` ### User Story As a developer I want the CI pipeline to pass on main So that new code deploys to the cluster via ArgoCD ### Context Woodpecker CI test step fails because `pip install .[dev]` runs in a bare `python:3.12-slim` container. PEP 668 blocks system-wide pip installs without `--break-system-packages`. The package never installs, so all tests fail with `ModuleNotFoundError: No module named 'basketball_api'`. CI has been failing since PR #7. This means PR #10 (registration form, merged to main) has NOT deployed — ArgoCD never gets a new image because the build-and-push step is gated on test success. 25 tests pass locally in a venv. ### File Targets Files the agent should modify: - `.woodpecker.yaml` — test step only: add venv creation Files the agent should NOT touch: - `.woodpecker.yaml` build-and-push step — leave as-is - Any application code ### Acceptance Criteria - [ ] CI test step creates a venv and runs pip/ruff/pytest through it - [ ] Pipeline #13+ passes on main - [ ] build-and-push step runs and pushes a new image to Harbor - [ ] ArgoCD picks up the new image and deploys ### Test Expectations - [ ] Woodpecker pipeline passes on main (no local tests needed — this is a CI-only fix) ### Constraints - Do not change the build-and-push step - Do not change any application code - Commit directly to main (CI fix, not a feature) ### Checklist - [ ] Commit pushed to main - [ ] Pipeline passes - [ ] No unrelated changes ### Related - `project-westside-basketball` - Phase 1 (PR #10) is merged but NOT deployed because of this CI failure
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#11
No description provided.