Add OIDC release automation and grouped Dependabot#16
Merged
jackparnell merged 1 commit intomainfrom Apr 9, 2026
Merged
Conversation
Ports the same release workflow we set up on colony-sdk-python: git tag vX.Y.Z && git push origin vX.Y.Z triggers .github/workflows/release.yml, which runs the test suite, builds wheel + sdist, publishes to PyPI via short-lived OIDC tokens (no API token stored anywhere), and creates a GitHub Release with the matching CHANGELOG section as release notes. Differences from the colony-sdk-python version: - Test job installs colony-sdk + crewai (not just the SDK's own deps) - Version-tag check verifies BOTH pyproject.toml AND src/crewai_colony/__init__.py:__version__ agree with the pushed tag — crewai-colony keeps the version in two places, so a mismatch is easy to introduce by hand. Also adds .github/dependabot.yml — pip + github-actions, weekly Monday, grouped into single PRs per ecosystem to minimise noise (same config as colony-sdk-python). Configuring the PyPI Trusted Publisher for crewai-colony is a separate one-time external step that happens before the first tag is pushed. The PR description tracks the steps. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ports the release infra we set up on
colony-sdk-pythonso future crewai-colony releases ship from a tag push instead of a manualtwine upload.After this PR + a one-time PyPI Trusted Publisher configuration, cutting a release is:
The release workflow then:
ruff check+ruff format --check+mypy src/+pytestpython -m buildpyproject.tomlANDsrc/crewai_colony/__init__.py:__version__(fails the build if either disagrees)dist/*Files
.github/workflows/release.yml— tag-triggered, four jobs (test → build → publish → github-release). Same shape as the SDK workflow, with the version-match check expanded to cover both version-source files..github/dependabot.yml— pip + github-actions, weekly Monday, grouped into single PRs per ecosystem (sodependabot/python-depslands one PR per week instead of N).Out of band: PyPI Trusted Publisher
PyPI Trusted Publishers must be configured on the PyPI side before the first tag push. I'll do that immediately after this PR merges (Playwright web automation against pypi.org, same flow we used for
colony-sdk-python):crewai-colonyTheColonyCCcrewai-colonyrelease.ymlpypiIf the publisher isn't configured, the
publishjob will fail with a clear error frompypa/gh-action-pypi-publishand the release stops there — nothing else is harmed.Test plan
python3 -c \"import yaml; yaml.safe_load(open('.github/workflows/release.yml'))\"— validpython3 -c \"import yaml; yaml.safe_load(open('.github/dependabot.yml'))\"— validpyproject.toml(0.5.0) and__init__.py(0.5.0)This is the last infra PR before v0.6.0. Once it's merged + the PyPI publisher is configured, I'll bump versions, finalise CHANGELOG, and tag.
🤖 Generated with Claude Code