Releasing

TODO Forge uses goreleaser to create build artifacts.

You can release to GitHub using ./bin/build/release.sh, or test the release by running ./bin/build/release-test.sh.

Your releases are available at https://github.com/kyleu/todoforge/releases

Checksums

All release binaries are checksummed, available in checksums.txt in the root of the release

Docker Images

Multiple Docker images will be created. The main image is ghcr.io/kyleu/todoforge/x.x.x, and a debug image is provided at ghcr.io/kyleu/todoforge/x.x.x-debug that includes delve for debugging

Homebrew

Packages for macOS and Linux will be pushed to Homebrew at kyleu/homebrew-kyleu

NFPMS

The build will produce apk, deb, and rpm packages for each supported Linux architecture

BOM

The build will create a bill of materials for each binary

Notarization

Release binaries for macOS and iOS are notarized using Apple Notarization services

Signing

Release binaries and the checksum file are signed using gpg

Snapcraft

The build will produce snap packages for each supported Linux architecture

Source Code

The source code will be bundled in the release, available as todoforge_x.x.x_source.zip

Universal Binaries

A universal macOS app will be created, containing the complete app for x86-64 and ARM

Desktop Build

A standalone desktop application, bundling the server and a web view, will be built for Linux, macOS, and Windows

Mobile Build

A standalone mobile app, bundling the server and a web view, will be built for Android and iOS

Web Build

The server is compiled to WASM and available as a WebAssembly module