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 inX-Spacedrive-Version
- Exact versions should be specified as semantic versions, eg
0.1.0
,1.0.0-alpha.1
- Release channels
stable
andalpha
can also be specifiedalpha
will look for tags that contain the stringalpha
stable
will look for the release marked asLatest Release
- Exact versions should be specified as semantic versions, eg
- 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 :)