Skip to content

feat: add PyPI publish workflow, release docs, and project metadata#60

Merged
dgenio merged 5 commits intomainfrom
copilot/37-pypi-publish
Mar 9, 2026
Merged

feat: add PyPI publish workflow, release docs, and project metadata#60
dgenio merged 5 commits intomainfrom
copilot/37-pypi-publish

Conversation

@dgenio
Copy link
Owner

@dgenio dgenio commented Mar 8, 2026

What changed

Implements PyPI publishing automation and release documentation per #37.

New files

  • .github/workflows/publish.yml — Automated PyPI publish workflow triggered on v* tag push. Uses pypa/gh-action-pypi-publish with OIDC Trusted Publisher (no stored API tokens). Runs the full CI suite as a gate via reusable workflow call before publishing.
  • RELEASE.md — Documents the complete release process: version bump, changelog update, tagging, what CI does, Trusted Publisher one-time setup, and versioning scheme.

Modified files

  • .github/workflows/ci.yml — Added workflow_call: trigger so publish.yml can reuse CI as a gate job.
  • pyproject.toml — Renamed PyPI package to weaver-kernel (Weaver ecosystem alignment). Added [project.urls] (Homepage, Repository, Documentation, Changelog). Added mcp and otel optional dependency groups.
  • README.md — Updated pip install command to weaver-kernel.
  • CHANGELOG.md — Added [Unreleased] entries for all changes.

Why

  • No PyPI release exists — users can't pip install the package.
  • No CI workflow for automated publishing on tag push.
  • No documented release process.
  • Package name agent-kernel conflicts with existing PyPI project; renamed to weaver-kernel to align with Weaver ecosystem (weaver-spec, contextweaver, ChainWeaver).

How verified

  • ruff format — 35 files unchanged
  • ruff check — only 2 pre-existing UP038 warnings (unrelated to this PR)
  • mypy src/ — success, no issues in 20 source files
  • pytest201 passed in 1.64s, 96% coverage

Acceptance criteria mapping

Criteria Status
Tag push triggers automated publish workflow publish.yml triggers on v*
make ci gate prevents publishing broken code needs: ci reuses ci.yml
RELEASE.md documents the full release process
Trusted Publisher configured (no API token secrets stored) id-token: write + environment: pypi; manual PyPI-side setup documented
Optional extras defined for future integrations mcp and otel extras added
pip install weaver-kernel works from PyPI Requires tagging + PyPI Trusted Publisher setup

Notes

  • PyPI Trusted Publisher requires a one-time manual configuration on pypi.org (documented in RELEASE.md).
  • The first actual publish requires: git tag v0.2.0 && git push --tags after merging.
  • AGENTS.md reviewed — no updates needed (doesn't reference package name or release workflows).

Closes #37

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds automated PyPI publishing and release guidance, while updating project metadata to publish under the new weaver-kernel distribution name (issue #37).

Changes:

  • Introduces a tag-triggered PyPI publish workflow that gates publishing on the existing CI workflow.
  • Adds RELEASE.md documenting the end-to-end release process and Trusted Publisher setup.
  • Updates pyproject.toml, README, and changelog to reflect the new PyPI distribution name and additional metadata/extras.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pyproject.toml Renames distribution to weaver-kernel, adds project URLs, and adds mcp/otel optional dependency groups.
RELEASE.md New release process documentation including Trusted Publisher (OIDC) setup steps.
README.md Updates install command to pip install weaver-kernel.
CHANGELOG.md Records unreleased entries for publishing workflow/docs/metadata rename.
.github/workflows/publish.yml New workflow to build and publish on v* tags after CI gating.
.github/workflows/ci.yml Enables reuse via workflow_call so publish workflow can invoke CI as a gate.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

dgenio added 5 commits March 9, 2026 05:41
)

- Add .github/workflows/publish.yml with Trusted Publisher (OIDC)

- Add workflow_call trigger to ci.yml for reuse as publish gate

- Add RELEASE.md documenting the full release process

- Add [project.urls] to pyproject.toml

- Add mcp and otel optional dependency groups

- Rename PyPI package to weaver-kernel (Weaver ecosystem alignment)

Closes #37
@dgenio dgenio force-pushed the copilot/37-pypi-publish branch from 549e5b5 to eb1ab12 Compare March 9, 2026 05:42
@dgenio dgenio merged commit 7619e10 into main Mar 9, 2026
6 checks passed
@dgenio dgenio deleted the copilot/37-pypi-publish branch March 9, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PyPI publishing automation & v0.1.0 release

2 participants