Repository navigation
Releasing
Guilherme Selig edited this page Oct 21, 2026
·
3 revisions
Releases are published with scripts/publicar.sh. It is meant for the maintainer.
- Reads the version from
Cargo.toml. A pre-release version (anything with a-, such as0.1.0-dev) is refused: change it inCargo.tomlfirst. - Refuses to run with uncommitted changes.
- Fetches
origin/mainand refuses to run unlessHEADis exactlyorigin/main, because the release tag points at it. Push first. - Builds and signs the app with
app/montar.sh. - Packages
SDTally.appasSDTally-<version>.dmgwithdmgbuild: a 600×400 window with the background fromscripts/dmg/, the app on the left and an Applications shortcut on the right. Then checks the image withhdiutil verify. - Creates the GitHub release
v<version>onguiselig/sdtallywithgh release create, targeting that commit, titledSDTally <version>(with "(beta)" for 0.x) and marked as the latest release, with generated notes plus install instructions (open the disk image, drag SDTally to Applications, and use "Open Anyway" the first time because the app is not notarized).
The release page is where the app's See New Versions button leads. The app itself never uses the network.
-
ghauthenticated with permission to create releases. -
dmgbuild(pipx install dmgbuild). The script stops at the start if it is missing. - A clean tree, pushed to
origin/main. - An Apple Development signing identity, so the released app can register Passwordless Root (see Building from source).
- Bump
versioninCargo.toml(and commitCargo.lock), for examplechore: release 1.0.1. - Run the full test list:
cargo test --release,cargo clippy --release --all-targets -- -D warnings,swift test --package-path app,sh scripts/g9.sh. - Push to
mainand wait for CI to pass. - Run
scripts/publicar.sh. - Download the published disk image on a clean account and check: it opens with "Open Anyway", Full Disk Access can be granted, and Passwordless Root installs.
Getting started
Understanding
Reference
Trust
Development