ci(forgejo): publish release with PostIt APK on tag push #22

Merged
notazof merged 1 commit from feat/forgejo-release-page into release/1.0.6 2026-08-17 00:54:00 +01:00
Owner

Ajoute .forgejo/workflows/release.yml qui se déclenche sur push de tag (ou workflow_dispatch) et publie une release Forgejo avec l'APK PostIt comme asset.

Jobs :

  • validate-release : parse le tag, applique la règle de parité du patch (pair=stable / impair=preview / suffixe=unstable), fail-fast sur unstable sauf opt-in force_unstable=true, vérifie la cohérence avec une section ## [TAG] - <channel> dans CHANGELOG.md. Écrit le body dans un artifact.
  • release : dépend de validate-release. Construit l'APK via le Dockerfile (--target build-env, RID android-arm64), extrait l'APK signé, recalcule le channel depuis le tag, publie via rasterstate/forgejo-release-action@v1 sur l'API Forgejo avec l'APK en asset.

Auth : ${{ secrets.RELEASE_TOKEN }} (PAT Forgejo, scope write:repository). À créer côté UI Forgejo avant le premier run.

Comportement :

  • Push tag 1.0.6 → release stable, marquée Latest.
  • Push tag 1.0.7 → preview (prerelease=true).
  • Push tag 1.0.7-rc1 → unstable, fail-fast sauf force_unstable=true (workflow_dispatch).

Cible : release/1.0.6 pour couvrir la release actuelle. À merger aussi vers main après (PR séparée ou rebase).

Ajoute `.forgejo/workflows/release.yml` qui se déclenche sur push de tag (ou workflow_dispatch) et publie une release Forgejo avec l'APK PostIt comme asset. **Jobs** : - `validate-release` : parse le tag, applique la règle de parité du patch (pair=stable / impair=preview / suffixe=unstable), fail-fast sur unstable sauf opt-in `force_unstable=true`, vérifie la cohérence avec une section `## [TAG] - <channel>` dans CHANGELOG.md. Écrit le body dans un artifact. - `release` : dépend de validate-release. Construit l'APK via le Dockerfile (`--target build-env`, RID android-arm64), extrait l'APK signé, recalcule le channel depuis le tag, publie via `rasterstate/forgejo-release-action@v1` sur l'API Forgejo avec l'APK en asset. **Auth** : `${{ secrets.RELEASE_TOKEN }}` (PAT Forgejo, scope `write:repository`). À créer côté UI Forgejo avant le premier run. **Comportement** : - Push tag `1.0.6` → release stable, marquée Latest. - Push tag `1.0.7` → preview (prerelease=true). - Push tag `1.0.7-rc1` → unstable, fail-fast sauf `force_unstable=true` (workflow_dispatch). **Cible** : `release/1.0.6` pour couvrir la release actuelle. À merger aussi vers `main` après (PR séparée ou rebase).
Adds .forgejo/workflows/release.yml: triggered by tag push or
workflow_dispatch, it validates the tag/CHANGELOG parity (stable /
preview / unstable), builds the PostIt Android APK via the existing
Dockerfile (--target build-env), and publishes a Forgejo release with
the APK as an asset via rasterstate/forgejo-release-action@v1.

Mirrors the validate-release logic of .github/workflows/docker-publish-android.yml
so the two channels (Forgejo source-of-truth + GitHub mirror) stay
consistent. Authentication uses ${{ secrets.RELEASE_TOKEN }}, a Forgejo
PAT scoped to write:repository configured in the repository's Actions
secrets.
notazof merged commit 70a69779fa into release/1.0.6 2026-08-17 00:54:00 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
notazof/yavsc!22
No description provided.