Files
2026-10-21 15:24:44 +01:00

71 lines
2.2 KiB
YAML

name: catalogue-publish
description: >
Publish a built artifact to the SilverDESK App Catalogue
(desk.silverlined.uk/api/catalogue/publish). A 409 (already published) is
treated as success. The publish key is passed through the environment only.
inputs:
app:
description: App slug (e.g. silvermail)
required: true
file:
description: Path to the artifact
required: true
platform:
description: android | macos | linux | windows
required: true
arch:
description: Architecture (x64, arm64, ...)
required: true
format:
description: apk | dmg | zip | deb | appimage | msi | exe | msix | pwa | nupkg
required: true
version:
description: Version string
required: true
channel:
description: alpha | beta | rc | stable
required: true
publish-key:
description: Catalogue publish key (secrets.CATALOGUE_PUBLISH_KEY)
required: true
version-code:
description: Version code (derived from strict semver MAJOR.MINOR.PATCH when empty)
required: false
default: ''
notes-file:
description: Release notes file (max 500 chars)
required: false
default: ''
signer-identity:
description: Signer identity, if the artifact is signed
required: false
default: ''
catalogue-url:
description: Catalogue base URL
required: false
default: https://desk.silverlined.uk
dry-run:
description: "'true' to print the redacted request and stop"
required: false
default: 'false'
runs:
using: composite
steps:
- name: Publish to catalogue (${{ inputs.app }} ${{ inputs.version }})
shell: bash
env:
INPUT_APP: ${{ inputs.app }}
INPUT_FILE: ${{ inputs.file }}
INPUT_PLATFORM: ${{ inputs.platform }}
INPUT_ARCH: ${{ inputs.arch }}
INPUT_FORMAT: ${{ inputs.format }}
INPUT_VERSION: ${{ inputs.version }}
INPUT_VERSION_CODE: ${{ inputs.version-code }}
INPUT_CHANNEL: ${{ inputs.channel }}
INPUT_NOTES_FILE: ${{ inputs.notes-file }}
INPUT_SIGNER_IDENTITY: ${{ inputs.signer-identity }}
INPUT_CATALOGUE_URL: ${{ inputs.catalogue-url }}
INPUT_DRY_RUN: ${{ inputs.dry-run }}
CATALOGUE_PUBLISH_KEY: ${{ inputs.publish-key }}
run: bash "${{ github.action_path }}/run.sh"