Add Woodpecker CI pipeline + ruff config + Forgejo PyPI publishing #7

Closed
opened 2026-03-01 17:12:35 +00:00 by forgejo_admin · 0 comments

Plan

plan-2026-03-01-forgejo-pypi-migration — Phase 1

Repo

pal-e-auth — the repo where the code change happens

User Story

As a platform developer
I need pal-e-auth to have a Woodpecker CI pipeline that lints, tests (if applicable), builds, and publishes to Forgejo's private PyPI registry
So that the package is no longer leaked to public pypi.org and follows the standard CI pattern

Acceptance Criteria

When I push to main on pal-e-auth
Then Woodpecker runs lint (ruff), tests (if present), and publishes the package to Forgejo PyPI
When I open a PR
Then Woodpecker runs lint and tests (no publish)

Additional Information

Reference implementation: woodpecker-sdk .woodpecker.yml (PR #6, merged after 3 QA rounds).

Shared OAuth infrastructure library. Check if this repo has tests — include test step if yes, skip if no.

Woodpecker already activated (ID 4). Global secrets already configured: forgejo_publish_user, forgejo_publish_token, forgejo_pypi_url.

Ruff config: py310, line-length 120, select E/F/W/I (matches platform standard).

Checklist

  • PR opened with related notes
  • Tests cover the acceptance criteria
  • Docs updated if needed
  • project-claude-config — parent project
  • plan-2026-03-01-forgejo-pypi-migration — the migration plan
  • plan-2026-02-28-woodpecker-sdk-mcp — reference implementation
### Plan `plan-2026-03-01-forgejo-pypi-migration` — Phase 1 ### Repo `pal-e-auth` — the repo where the code change happens ### User Story As a platform developer I need pal-e-auth to have a Woodpecker CI pipeline that lints, tests (if applicable), builds, and publishes to Forgejo's private PyPI registry So that the package is no longer leaked to public pypi.org and follows the standard CI pattern ### Acceptance Criteria When I push to main on pal-e-auth Then Woodpecker runs lint (ruff), tests (if present), and publishes the package to Forgejo PyPI When I open a PR Then Woodpecker runs lint and tests (no publish) ### Additional Information Reference implementation: `woodpecker-sdk` `.woodpecker.yml` (PR #6, merged after 3 QA rounds). Shared OAuth infrastructure library. Check if this repo has tests — include test step if yes, skip if no. Woodpecker already activated (ID 4). Global secrets already configured: `forgejo_publish_user`, `forgejo_publish_token`, `forgejo_pypi_url`. Ruff config: py310, line-length 120, select E/F/W/I (matches platform standard). ### Checklist - [ ] PR opened with related notes - [ ] Tests cover the acceptance criteria - [ ] Docs updated if needed ### Related - `project-claude-config` — parent project - `plan-2026-03-01-forgejo-pypi-migration` — the migration plan - `plan-2026-02-28-woodpecker-sdk-mcp` — reference implementation
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/pal-e-auth#7
No description provided.