Skip to content

Commit fe640c6

Browse files
ci: release workflow skeleton
Closes #52 Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent f42a7c3 commit fe640c6

2 files changed

Lines changed: 44 additions & 0 deletions

File tree

.github/workflows/publish.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Release
2+
on:
3+
push:
4+
tags:
5+
- "create-awesome-python-app@*"
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: "Tag name (create-awesome-python-app@X.Y.Z)"
10+
required: false
11+
concurrency:
12+
group: release-${{ github.ref }}
13+
cancel-in-progress: true
14+
jobs:
15+
release:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: write
19+
id-token: write
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: astral-sh/setup-uv@v6
23+
- uses: actions/setup-python@v5
24+
with:
25+
python-version-file: .python-version
26+
- run: uv sync --group dev
27+
- run: uv build --package create-awesome-python-app
28+
- name: Create GitHub Release
29+
if: startsWith(github.ref, 'refs/tags/')
30+
uses: softprops/action-gh-release@v2
31+
with:
32+
files: dist/*
33+
- name: Publish to PyPI (OIDC)
34+
if: startsWith(github.ref, 'refs/tags/')
35+
run: echo "PyPI trusted publishing wired in #58 — placeholder job"

docs/VERSIONING.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Versioning
2+
3+
CPA uses **GitHub Releases + tags** with hatchling package versions.
4+
5+
Recommended flow (release-please or manual tags):
6+
7+
1. Bump `version` in package pyproject.toml files
8+
2. Tag `create-awesome-python-app@X.Y.Z`
9+
3. `publish.yml` builds and publishes to PyPI via OIDC (see #58)

0 commit comments

Comments
 (0)