71 lines
2.2 KiB
YAML
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"
|