Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.3 KB

File metadata and controls

43 lines (30 loc) · 1.3 KB

Releasing

This project uses EasyBuild.ShipIt for release automation and Conventional Commits for versioning.

Commit conventions

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.

Creating a release

just shipit

This will:

  1. Analyze commits since the last release
  2. Determine the next semantic version
  3. Update CHANGELOG.md
  4. Create a GitHub release with the version tag (e.g. v0.1.0)

The GitHub release triggers the publish workflow, which:

  1. Packs all NuGet packages (Fable.Beam, Fable.Beam.Cowboy, etc.)
  2. Pushes them to nuget.org using the NUGET_API_KEY secret

Prerequisites

  • NUGET_API_KEY repository secret (glob pattern: Fable.Beam*)
  • GITHUB_TOKEN or gh CLI authenticated (for ShipIt to create releases)