This project uses EasyBuild.ShipIt for release automation and Conventional Commits for versioning.
PR titles must follow the conventional commit format (enforced by CI):
| Prefix | Version bump | Example |
|---|---|---|
feat: |
minor | feat: add Phoenix bindings |
fix: |
patch | fix: correct cowboy_req reply signature |
feat!: |
major | feat!: rename Erlang module |
chore: |
patch | chore: update dependencies |
docs: |
patch | docs: update README |
refactor: |
patch | refactor: simplify ETS bindings |
Other valid prefixes: test, perf, ci, build, style, revert.
just shipitThis will:
- Analyze commits since the last release
- Determine the next semantic version
- Update
CHANGELOG.md - Create a GitHub release with the version tag (e.g.
v0.1.0)
The GitHub release triggers the publish workflow, which:
- Packs all NuGet packages (
Fable.Beam,Fable.Beam.Cowboy, etc.) - Pushes them to nuget.org using the
NUGET_API_KEYsecret
NUGET_API_KEYrepository secret (glob pattern:Fable.Beam*)GITHUB_TOKENorghCLI authenticated (for ShipIt to create releases)