Files
php-qml/.gitea/workflows
magdev 03061f2f75 Phase 4a sub-commit 3: Linux release CI on v* tags
.gitea/workflows/release.yml builds the example's AppImage on every
v* tag push and uploads it to a Gitea Release together with a signed
SHA256SUMS:

  - Same PHP / Qt / FrankenPHP setup as the quality job (cached).
  - Reuses the AppImage recipe via `make appimage` (FRANKENPHP env
    points at the runner's installed binary; APPIMAGE_EXTRACT_AND_RUN=1
    to avoid FUSE inside CI).
  - sha256sum → SHA256SUMS.
  - When a GPG_KEY secret is present, imports it and emits
    SHA256SUMS.asc (--detach-sign --armor). Skipped silently if
    secrets aren't configured — CI red-lines for real failures, not
    for missing operational secrets.
  - Creates the Release via the Gitea API
    (POST /repos/{repo}/releases) and uploads
    AppImage + SHA256SUMS + SHA256SUMS.asc.

Workflow exists from this commit onward even before a Gitea runner is
provisioned; it'll just fail at the runner-needed steps if no runner
picks it up.

Required Gitea secrets (configurable when ready):
  - GITEA_TOKEN     — repo-scoped token, write:repository
  - GPG_KEY         — ASCII-armoured private key (optional)
  - GPG_PASSPHRASE  — the key's passphrase (optional)

Sub-commit 4 will append a zsync + appcast (latest.json) step here for
auto-update.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 19:50:42 +02:00
..