Deliver

Connect the Tauri v2 updater.

Use the app’s dynamic endpoint, upload the signed updater bundle and its signature, and keep the verification public key inside the Tauri application.

Dynamic updater server200 or 204

Endpoint

For a stable channel, configure:

text
https://{public-slug}.mateality.app/releases/stable/{{target}}/{{arch}}/{{current_version}}

The edge combines Tauri’s target and arch into the artifact target when needed. For example, darwin and aarch64 select an artifact uploaded as darwin-aarch64.

Tauri configuration

json
{
  "bundle": {
    "createUpdaterArtifacts": true
  },
  "plugins": {
    "updater": {
      "pubkey": "CONTENT OF YOUR TAURI PUBLIC KEY",
      "endpoints": [
        "https://{public-slug}.mateality.app/releases/stable/{{target}}/{{arch}}/{{current_version}}"
      ]
    }
  }
}

Replace {public-slug} but leave Tauri’s double-braced variables intact. Tauri requires HTTPS in production. See the official Tauri v2 updater guide for plugin installation, capabilities, signing-key generation, and updater runtime code.

Publish the bundle

Build and sign

Let Tauri create the updater artifact and .sig file in your normal signed build.

Upload after signing

Point the GitHub Action at one updater bundle. The adjacent <artifact>.sig is detected automatically.

Match the target

Set target to the exact OS-ARCH value Tauri will request, such as darwin-aarch64, windows-x86_64, or linux-x86_64.

Test an older version

Request the endpoint with a current_version below the published version and confirm a 200 response.
yaml
- uses: mateality/releases-upload@v1
  with:
    api-key: ${{ secrets.MATEALITY_RELEASES_KEY }}
    app: your-app-slug
    version: ${{ github.ref_name }}
    artifact: src-tauri/target/release/bundle/**/*.app.tar.gz
    target: darwin-aarch64

Response

When an update is available, Releases returns:

json
{
  "version": "1.4.2",
  "notes": "Release notes",
  "pub_date": "2026-07-28T10:00:00.000Z",
  "url": "https://{public-slug}.mateality.app/releases/download/{release-id}/darwin-aarch64",
  "signature": "CONTENTS OF THE UPLOADED SIGNATURE"
}

When no published release exists or current_version is equal to or newer than the latest version, the endpoint returns 204 No Content.