feat: catalogue-publish action
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0caf882af0
commit
74e7fc4194
6 files changed
+324
No files matched your search
@@ -0,0 +1,70 @@
|
||||
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"
|
||||
Reference in new issue
Block a user