DevelopersTechnologyPublishing Updates Technology
Publishing Updates
Release Workflow
- Standalone binaries are published as
Spacedrive-{Format}-{Target Triple}.zip
- Updater binaries are published as
Spacedrive-Updater-{Target Triple}.zip
Desktop Update API
- Available at
/api/releases/tauri/[version]/[target]/[arch]
- Version should be specified via
[version]
or overridden in X-Spacedrive-Version
- Exact versions should be specified as semantic versions, eg
0.1.0
, 1.0.0-alpha.1
- Release channels
stable
and alpha
can also be specified
alpha
will look for tags that contain the string alpha
stable
will look for the release marked as Latest Release
- Looks for assets named
Spacedrive-Updater-{Target}-{Arch}.{Extension}
Target
: darwin
, linux
, windows
Arch
: x86_64
, aarch64
- Returns
TauriResponse
Desktop Download API
- Available at
/api/releases/desktop/[version]/[target]/[arch]
- Same version semantics as Desktop Update API
- Looks for assets starting with
Spacedrive-{Target}-{Arch}
to allow for extensions like .dmg
, .deb
and .msi
- Returns a redirect as it's intended to be invoked via
<a>
elements
Publishing a Release
- Create tag that follows semver, eg.
0.1.0
, 1.0.0-alpha.1
- Update version number in
apps/desktop/src-tauri/Cargo.toml
- Create release - name does not matter, only the tag
- Add assets that match the names expected by the Desktop Updater and Downloader APIs
- Publish release :)