بنقرة واحدة
release
Cut a new ExecutionKit release — version bump, changelog, tag, GitHub release, docs, PyPI
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Cut a new ExecutionKit release — version bump, changelog, tag, GitHub release, docs, PyPI
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | release |
| description | Cut a new ExecutionKit release — version bump, changelog, tag, GitHub release, docs, PyPI |
Run the local validation gate first. All four steps must pass.
/validate
Also confirm that the remote CI is green (GitHub Actions) before proceeding.
Semver rules:
x+1.0.0) — breaking API changex.y+1.0) — new backward-compatible featurex.y.z+1) — bug fix or internal change onlyCurrent version is in executionkit/__init__.py as __version__.
__version__Edit executionkit/__init__.py:
__version__ = "x.y.z" # replace with new version
Hatchling reads the version from this file via [tool.hatch.version] path = "executionkit/__init__.py" — no pyproject.toml edit needed.
Add a new section at the top of the file (above the previous release, below any ## [Unreleased] block):
## [x.y.z] — YYYY-MM-DD
### Added
- ...
### Fixed
- ...
### Changed
- ...
Keep the ## [Unreleased] section below it (reset it to empty after moving its items into the new section).
/validate
Catches import errors introduced by the version bump before the commit is tagged.
git add executionkit/__init__.py CHANGELOG.md
git commit -m "chore(release): x.y.z"
git tag vx.y.z
git push && git push --tags
Extract the changelog notes for the new version and pass them directly:
gh release create vx.y.z \
--title "vx.y.z" \
--notes-file <(sed -n '/## \[x\.y\.z\]/,/## \[/p' CHANGELOG.md | head -n -1)
Alternative if process substitution is unavailable (e.g. plain PowerShell):
gh release create vx.y.z --generate-notes
# Then edit the release body in the browser to paste the CHANGELOG section
mkdocs gh-deploy --force
This pushes the rendered MkDocs site to the gh-pages branch.
Requires PYPI_TOKEN set in the environment (export PYPI_TOKEN=pypi-...).
python -m build
python -m twine upload dist/* -u __token__ -p "$PYPI_TOKEN"
Do NOT commit or log PYPI_TOKEN. Rotate it immediately if it is exposed.