Releasing
Make a release
Section titled “Make a release”-
Bump
versionin the rootCargo.tomland runcargo buildsoCargo.lockfollows. -
Commit, then tag and push:
git tag v0.2.0 && git push origin v0.2.0 -
The
releaseworkflow builds:malac-<version>-aarch64-apple-darwin.tar.gzandmalac-<version>-x86_64-apple-darwin.tar.gzmalac-<version>-macos.pkg, a universal installer that puts both binaries in/usr/local/binmalac-<version>-x86_64-unknown-linux-gnu.tar.gzSHA256SUMS
It then publishes them as a GitHub release with generated notes.
install.sh and malac update pick up the latest release automatically and verify the checksum. The install script falls back to a source build when no archive matches the machine.
Build release files locally
Section titled “Build release files locally”scripts/package.sh # this machine onlyscripts/package.sh aarch64-apple-darwin x86_64-apple-darwin --pkgThe second form needs rustup target add x86_64-apple-darwin. Files land in dist/. Upload them with gh release create v0.2.0 dist/* if CI is unavailable.
Sign the macOS installer
Section titled “Sign the macOS installer”Unsigned packages trigger Gatekeeper on download: users have to right-click and choose Open. To sign the package, set MALAC_SIGN_IDENTITY to a “Developer ID Installer” identity from your keychain before running scripts/package.sh --pkg. Then notarize it:
xcrun notarytool submit dist/malac-<version>-macos.pkg --keychain-profile <profile> --waitxcrun stapler staple dist/malac-<version>-macos.pkgHomebrew
Section titled “Homebrew”Formula/malac.rb builds the tagged release from its source archive, so brew install lobirus/malac/malac installs it; brew install --HEAD builds main. For each release, point its url at https://github.com/lobirus/malac/archive/refs/tags/v<version>.tar.gz and update its sha256 (curl -sL <url> | shasum -a 256).
malac is created by lobirus and released under the MIT license. About malac