Publish

Upload and publish from GitHub Actions.

The official Action resolves one artifact, calculates SHA-256, creates or updates a draft, uploads directly to storage, and publishes the release.

mateality/releases-upload@v1Node 24 action

Workflow step

yaml
- name: Publish to Mateality Releases
  uses: mateality/releases-upload@v1
  with:
    api-key: ${{ secrets.MATEALITY_RELEASES_KEY }}
    app: your-app-slug
    version: ${{ github.ref_name }}
    artifact: dist/product-linux-x86_64.zip
    target: linux-x86_64
    channel: stable
    notes: ${{ github.event.release.body }}

Inputs

api-keystringRequired

The app-scoped Mateality Releases publish key.

appstringRequired

The app slug from the Releases dashboard.

versionstringRequired

The version to create inside the selected channel.

artifactpath | globRequired

An exact file or a glob resolving to exactly one file.

channelstring

The existing, active destination channel.

Default: stable
targetstring

Artifact target; auto derives one from the runner platform and architecture.

Default: auto
formatstring

Format including a leading dot; inferred from the file extension when omitted.

signaturepath

Signature file; defaults to an adjacent <artifact>.sig when present.

content-typestring

MIME type override; otherwise inferred for zip/gzip or set to application/octet-stream.

notesstring

Release notes stored with the release.

api-urlURL

Publishing API origin; must use HTTP or HTTPS.

Default: https://releases.mateality.com

Automatic values

target: auto maps GitHub’s runner to identifiers such as darwin-aarch64, windows-x86_64, or linux-x86_64. Tauri’s default updater target format is OS-ARCH, so set target explicitly when the automatic identifier does not match what the client requests.

Known compound formats preserved during inference are .app.tar.gz, .AppImage.tar.gz, .nsis.zip, and .msi.zip.

Tauri artifact

For an app using the Tauri v2 adapter:

yaml
artifact: src-tauri/target/release/bundle/**/*.app.tar.gz

The glob must resolve to exactly one file. The v1 Action publishes immediately, so use it for a single-target release. Do not run one Action invocation per platform for the same channel/version: later jobs cannot add artifacts after the first publication. For a multi-target release, use the publishing API to create one draft, upload every platform artifact, and publish once.

Outputs

The Action exposes release-id, artifact-id, and version.