Operating
Verifying a release
Every llamay release is published at
github.com/AzmxAI/llamay-releases
with a SHA256SUMS file over every artifact, and a Sigstore
signature over that file. Check the signature, then the sum, and you know the
file you hold is the one the release published.
What a release contains
| Artifact | For |
|---|---|
llamay_<v>_macos.dmg | The Mac app, Apple silicon. Developer ID signed and notarised. |
llamay_<v>_darwin_arm64_metal.tar.gz | The command line with Metal, Apple silicon |
llamay_<v>_darwin_arm64.tar.gz, _darwin_amd64.tar.gz | The command line, CPU only, Apple silicon and Intel |
llamay_<v>_windows_{amd64,arm64}_setup.exe | The Windows installer. Authenticode signed. |
llamay_<v>_windows_{amd64,arm64}.zip | Windows, portable |
llamay_<v>_{amd64,arm64}.deb, llamay-<v>-1.{x86_64,aarch64}.rpm | Linux packages, with the system service |
llamay_<v>_linux_{amd64,arm64}_desktop.{deb,rpm} | The Linux desktop window |
llamay_<v>_linux_{amd64,arm64}.tar.gz | Linux, CPU |
llamay_<v>_linux_amd64_gpu.tar.gz | Linux with CUDA and Vulkan, loaded at run time |
llamay_<v>_android_arm64.tar.gz | The Android command line |
SHA256SUMS | The SHA-256 of every file above |
SHA256SUMS.sigstore.json | The Sigstore bundle: the signature over SHA256SUMS, its certificate, and its transparency-log entry |
1 · Check the signature
Install cosign,
download SHA256SUMS and SHA256SUMS.sigstore.json
from the release, and run:
cosign verify-blob --bundle SHA256SUMS.sigstore.json \
--certificate-identity-regexp '^https://github\.com/AzmxAI/' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
SHA256SUMS
Verified OK
That proves SHA256SUMS was signed by a GitHub Actions workflow
in the AzmxAI organisation, and was recorded in Sigstore's public
transparency log when it was signed. There is no long-lived signing key to
steal: the certificate is issued for that one run. The release notes name
the exact workflow, if you want to pin the identity further. Change one byte
of the file and the same command fails:
Error: failed to verify signature: could not verify message: invalid signature when validating ASN.1 encoded signature
2 · Check the sum
| Platform | Command |
|---|---|
| macOS | shasum -a 256 -c SHA256SUMS --ignore-missing |
| Linux | sha256sum -c SHA256SUMS --ignore-missing |
| Windows | (Get-FileHash .\llamay_0.3.0_windows_amd64.zip -Algorithm SHA256).Hash, then compare with the line in SHA256SUMS |
$ shasum -a 256 -c SHA256SUMS --ignore-missing
llamay_0.3.0_darwin_arm64.tar.gz: OK
llamay_0.3.0_linux_amd64.tar.gz: OK
--ignore-missing matters: the file covers every artifact and you
downloaded one or two. Without it the check lists every file you did not
download as missing, which reads like a failure.
3 · Platform signatures
- macOS. The
.dmgand the app inside are signed with a Developer ID and notarised by Apple.spctl --assess --type execute -v /Applications/llamay.appreports it. A tarball's binary is not notarised; after checking its sum, clear the quarantine flag withxattr -d com.apple.quarantine llamay. - Windows. The setup programs are Authenticode signed. Right-click, Properties, Digital Signatures; or
Get-AuthenticodeSignature .\llamay_0.3.0_windows_amd64_setup.exe. - Linux. The packages are not separately signed; the signed
SHA256SUMSis what covers them.
What the installers and updater check
install.shandinstall.ps1downloadSHA256SUMSand refuse to install a file whose sum does not match — and refuse to run at all on a machine with no SHA-256 tool, rather than skipping the check.llamay updatechecks every download againstSHA256SUMS. On Windows it also checks that the new installer is signed by the same publisher as the running one before it runs it.- The Mac app's updater checks the release's
SHA256SUMS, the download's code signature, and that it was signed by the same team as the running app.
The installers and the updater check the sums; they do not run cosign. Run step 1 yourself when you need the signature checked too.
4 · Check what you are running
$ llamay version
llamay 0.3.0
build go1.26.8 darwin/arm64, cgo off
revision 4661af46ad24
kernels neon+i8mm
gpu not built in (use `make build-metal`, `make build-cuda` or `make build-vulkan`)
The first lines of the darwin_arm64 tarball's binary. The
_metal build reports Metal on the gpu line.
version -json prints the whole description, formats and
architectures included, for an inventory.