Add Woodpecker CI pipeline #1
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/gmail-mcp#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Plan
plan-2026-02-25-mcp-gateway-migration— Phase 2Repo
gmail-mcp— the repo where the code change happensUser Story
As a platform operator
I need gmail-mcp to have a Woodpecker CI pipeline running tests on push and publishing to PyPI on tag
So that code quality is enforced and releases are automated via the Forgejo GitOps pipeline
Acceptance Criteria
When I push to main or open a pull request
Then Woodpecker runs ruff check, ruff format --check, and pytest
When I push a tag matching
v*Then Woodpecker builds and publishes the package to PyPI (if version not already published)
Additional Information
Part of the batch Phase 2 work covering all 9 library repos. Tracked in pal-e-docs as
issue-pal-e-services-library-pipelines.PyPI package name:
gmail-mcp-ldraneyDev deps location:
[dependency-groups].dev(PEP 735 format)Build system: setuptools
Special:
[tool.uv.sources]references../gmail-sdk— local dev convenience, not touched.Special: test step uses
pip install -e . ruff pytestinstead ofpip install -e ".[dev]" ruffbecause deps are in[dependency-groups]not[project.optional-dependencies].Checklist
.woodpecker.yamladded with test + publish stepsruff>=0.4.0added to[dependency-groups].devRelated
issue-pal-e-services-library-pipelines— parent tracking issueplan-2026-02-25-mcp-gateway-migration— parent planproject-pal-e— parent project