Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Releasing

NullTickets uses [CalVer](https://calver.org/) with the format `YYYY.M.D` (for example, `v2026.5.29`).

Pushing a tag matching `v*` triggers the [Release workflow](.github/workflows/release.yml). It builds binaries for supported platforms and publishes a GitHub Release.

## Steps

1. **Checkout and update `main`**

```bash
git checkout main
git pull origin main
```

2. **Create a release branch**

```bash
git checkout -b release/vYYYY.M.D
```

3. **Bump the version in `build.zig.zon`**

Update the `.version` field to match today's date:

```diff
- .version = "2026.3.2",
+ .version = "2026.5.29",
```

4. **Commit the version bump**

```bash
git add build.zig.zon
git commit -m "vYYYY.M.D"
```

5. **Push the branch and create a PR**

```bash
git push origin release/vYYYY.M.D
gh pr create --title "vYYYY.M.D" --body "Version bump for vYYYY.M.D release."
```

6. **Merge the PR** or get it reviewed and merged.

7. **Tag the release on `main`**

```bash
git checkout main
git pull origin main
git tag vYYYY.M.D
git push origin vYYYY.M.D
```

The tag push triggers the release build and GitHub Release publishing.

## Notes

- Pull requests to `main` run CI for Linux, macOS, and Windows.
- If multiple releases happen on the same day, append a patch number, for example `v2026.5.29.1`.
2 changes: 1 addition & 1 deletion build.zig.zon
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.{
.name = .nulltickets,
.version = "2026.3.2",
.version = "2026.5.29",
.fingerprint = 0x8d7cc7c0ca874218,
.minimum_zig_version = "0.16.0",
.dependencies = .{
Expand Down
Loading