mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-03 16:22:49 +00:00
feat(devtools): add release command and trigger PyPI publish
* feat(devtools): add release command and fix automerge on protected branches Replace gh pr merge --auto with polling-based merge wait that prints the PR URL for manual review. Add unified release command that chains bump and tag into a single end-to-end workflow. * feat(devtools): trigger PyPI publish workflow after GitHub release * refactor(devtools): extract shared helpers to eliminate duplication Extract _poll_pr_until_merged, _update_all_versions, _generate_release_notes, _update_docs_and_create_pr, _create_tag_and_release, and _trigger_pypi_publish into reusable helpers. All three commands (bump, tag, release) now compose from these shared functions.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# crewai-devtools
|
||||
|
||||
CLI for versioning and releasing crewAI packages.
|
||||
|
||||
## Setup
|
||||
|
||||
Installed automatically via the workspace (`uv sync`). Requires:
|
||||
|
||||
- [GitHub CLI](https://cli.github.com/) (`gh`) — authenticated
|
||||
- `OPENAI_API_KEY` env var — for release note generation and translation
|
||||
|
||||
## Commands
|
||||
|
||||
### `devtools release <version>`
|
||||
|
||||
Full end-to-end release. Bumps versions, creates PRs, tags, and publishes a GitHub release.
|
||||
|
||||
```
|
||||
devtools release 1.10.3
|
||||
devtools release 1.10.3a1 # pre-release
|
||||
devtools release 1.10.3 --no-edit # skip editing release notes
|
||||
devtools release 1.10.3 --dry-run # preview without changes
|
||||
```
|
||||
|
||||
**Flow:**
|
||||
|
||||
1. Bumps `__version__` and dependency pins across all `lib/` packages
|
||||
2. Runs `uv sync`
|
||||
3. Creates version bump PR against main, polls until merged
|
||||
4. Generates release notes (OpenAI) from commits since last release
|
||||
5. Updates changelogs (en, pt-BR, ko) and docs version switcher
|
||||
6. Creates docs PR against main, polls until merged
|
||||
7. Tags main and creates GitHub release
|
||||
|
||||
### `devtools bump <version>`
|
||||
|
||||
Bump versions only (phase 1 of `release`).
|
||||
|
||||
```
|
||||
devtools bump 1.10.3
|
||||
devtools bump 1.10.3 --no-push # don't push or create PR
|
||||
devtools bump 1.10.3 --no-commit # only update files
|
||||
devtools bump 1.10.3 --dry-run
|
||||
```
|
||||
|
||||
### `devtools tag`
|
||||
|
||||
Tag and release only (phase 2 of `release`). Run after the bump PR is merged.
|
||||
|
||||
```
|
||||
devtools tag
|
||||
devtools tag --no-edit
|
||||
devtools tag --dry-run
|
||||
```
|
||||
Reference in New Issue
Block a user