Skip to content

ci: add release automation and CI workflows#3

Merged
abrichr merged 1 commit intomainfrom
ci/release-automation
Mar 2, 2026
Merged

ci: add release automation and CI workflows#3
abrichr merged 1 commit intomainfrom
ci/release-automation

Conversation

@abrichr
Copy link
Copy Markdown
Member

@abrichr abrichr commented Mar 2, 2026

Summary

  • Add test.yml workflow: ruff lint + pytest on Python 3.10, 3.11, 3.12
  • Add release.yml workflow: python-semantic-release v9 + PyPI publish via OIDC trusted publisher
  • Add [tool.semantic_release] config to pyproject.toml with version_variables to keep __init__.py in sync
  • Add [project.urls] metadata
  • Bump version to 0.3.0 to match the latest PyPI release

Setup Required (manual steps after merge)

  1. PyPI Trusted Publisher: On pypi.org/manage/project/consilium/settings/publishing/, add a trusted publisher:
    • Owner: OpenAdaptAI
    • Repository: openadapt-consilium
    • Workflow: release.yml
    • Environment: (leave blank)
  2. ADMIN_TOKEN secret: Add a GitHub PAT with repo scope as ADMIN_TOKEN in repo Settings → Secrets
  3. Branch protection (optional): Add test as a required status check on main

How it works

  • On push to main, semantic-release parses conventional commit messages to determine version bump
  • If a release is needed: bumps version in pyproject.toml + __init__.py, creates git tag, builds wheel, publishes to PyPI and GitHub Releases
  • major_on_zero = false prevents 0.x → 1.0 jumps on feat: commits

🤖 Generated with Claude Code

- Add test.yml workflow (lint + pytest on Python 3.10-3.12)
- Add release.yml workflow (python-semantic-release + PyPI publish via OIDC)
- Add semantic_release config to pyproject.toml
- Add project.urls metadata
- Bump version to 0.3.0 to match latest PyPI release

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abrichr abrichr merged commit 2e5336b into main Mar 2, 2026
0 of 3 checks passed
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.

1 participant