Skip to content

Commit 20135c6

Browse files
ci: add template semver tagging
1 parent 199faf6 commit 20135c6

5 files changed

Lines changed: 942 additions & 5 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Thanks for wanting to contribute to Blueprint! Please read our [Code of Conduct]
3939

4040
- Branch names: `feat/`, `fix/`, `docs/`, etc.
4141
- Commits: [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) (`feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`)
42+
- Releases: `fix:` bumps patch, `feat:` bumps minor, and breaking changes bump major on `main`
4243
- Components: PascalCase — Utilities/hooks: camelCase — Constants: SCREAMING_SNAKE_CASE
4344
- All UI must use shadcn/ui components (`src/components/ui/`)
4445
- Convex functions must have `args`, `returns`, and `handler`

.github/workflows/ci.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,34 @@ jobs:
3939
NEXT_PUBLIC_CONVEX_URL: ${{ matrix.task == 'build' && 'https://stub.convex.cloud' || '' }}
4040
NEXT_PUBLIC_CONVEX_SITE_URL: ${{ matrix.task == 'build' && 'https://stub.convex.site' || '' }}
4141
NEXT_PUBLIC_WORKOS_REDIRECT_URI: ${{ matrix.task == 'build' && 'https://stub.example.com/callback' || '' }}
42+
43+
version:
44+
name: Release
45+
runs-on: ubuntu-latest
46+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
47+
needs: [check]
48+
49+
permissions:
50+
contents: write
51+
52+
steps:
53+
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
54+
with:
55+
fetch-depth: 0
56+
57+
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
58+
59+
- uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
60+
with:
61+
path: ~/.bun/install/cache
62+
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
63+
restore-keys: bun-${{ runner.os }}-
64+
65+
- run: bun install --frozen-lockfile
66+
env:
67+
HUSKY: "0"
68+
69+
- name: Semantic Release
70+
run: bunx semantic-release
71+
env:
72+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,16 @@ This project embeds production-grade patterns and architectural decisions:
344344

345345
All checks (lint, typecheck, test, build) are available via `bun run ci`.
346346

347+
## 📦 Template releases
348+
349+
Blueprint is versioned with git tags. On pushes to `main`, CI reads Conventional Commits since the latest `v*` tag and creates the next SemVer tag:
350+
351+
- `fix:` creates a patch release.
352+
- `feat:` creates a minor release.
353+
- `feat!:` or `BREAKING CHANGE:` creates a major release.
354+
355+
The template is not published as an npm package. Use GitHub tags/releases to choose a stable starting point.
356+
347357
## 🤝 Contributing
348358

349359
See [CONTRIBUTING.md](.github/CONTRIBUTING.md) for setup instructions and project conventions.

0 commit comments

Comments
 (0)