Releases
Via publishes platform-specific x86_64 binaries through GitHub Releases.
Supported release artifacts
Every release build produces:
via-VERSION-fedora43-x86_64.tar.gz
via-VERSION-debian13-x86_64.tar.gz
via-VERSION-ubuntu24.04-x86_64.tar.gz
Each archive has a neighboring .sha256 file. Archives contain:
- the
viabinary; README.md;CHANGELOG.md;LICENSE.
These builds include TLS support and are linked against the target distribution's system libraries.
Publishing a release
The version has one source of truth in shard.yml. Before tagging:
- update
versioninshard.yml; - finalize the matching
CHANGELOG.mdsection; - commit those changes;
- create and push
vVERSION.
Example:
git tag v0.1.0
git push origin v0.1.0
The release workflow rejects a tag that does not equal v plus the shard
version.
Workflow behavior
.github/workflows/release.yml calls the reusable build workflow for Fedora
43, Debian 13, and Ubuntu 24.04. It downloads all artifacts, verifies their
checksums, and then:
- creates a draft GitHub Release when none exists;
- replaces assets on an existing draft;
- uploads only missing assets to an already published release;
- validates an existing/new archive-checksum pair before completing a partial upload.
The draft must be reviewed and published in GitHub. Publishing the release triggers the documentation deployment for the same tag.
Verifying a download
sha256sum --check via-0.1.0-fedora43-x86_64.tar.gz.sha256
tar -xzf via-0.1.0-fedora43-x86_64.tar.gz
./via-0.1.0-fedora43-x86_64/via --version