feat: catalogue-publish action

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
sysadminandClaude Sonnet 5.5 committed 2026-10-21 15:24:44 +01:00
1 parent 0caf882af0
commit 74e7fc4194
6 files changed
+324

No files matched your search

+20
View File
@@ -38,3 +38,23 @@ Safety:
Promotion to `stable` is manual: each app repo has a `Promote to F-Droid stable`
workflow (dispatch with the tested tag).
## catalogue-publish
Publishes a built artifact to the SilverDESK App Catalogue (`desk.silverlined.uk/api/catalogue/publish`). Works on Linux and Windows runners (Git Bash, `shell: bash`). "Already published" (HTTP 409) is treated as success.
```yaml
- uses: https://git.silverlabs.uk/SilverLABS/ci-actions/catalogue-publish@v1
with:
app: silvermail
file: dist/SilverMAIL-0.1.5-x64.nupkg
platform: windows # android | macos | linux | windows
arch: x64
format: nupkg # apk|dmg|zip|deb|appimage|msi|exe|msix|pwa|nupkg
version: 0.1.5
channel: beta # alpha | beta | rc | stable
publish-key: ${{ secrets.CATALOGUE_PUBLISH_KEY }}
# optional: version-code, notes-file (<=500 chars), signer-identity, catalogue-url, dry-run
```
`version-code` defaults to `MAJOR*1000000 + MINOR*1000 + PATCH` (strict `x.y.z`, each below 1000; anything else fails the step, so pass `version-code` explicitly, e.g. `${{ github.run_number }}`). The key is passed through the environment only and never printed. `publish-to-catalogue.sh` is a copy of silverdesk's `tools/catalogue/publish-to-catalogue.sh`; keep them in step. Run `bash catalogue-publish/test.sh` for the offline tests.