ci(release): support patch releases from release/* branches

- prepare-release: add `branch` input; validate branch/bump combination;
  skip Weblate merge, mobile build, and APK asset when not on main; point
  checkout, release target, and tag at the selected branch; backport the
  archived-versions.json entry to main via PR.
- build-mobile: gate Android release build and iOS TestFlight upload on
  `environment == production` instead of the branch name, so patch
  releases still produce production artifacts if ever re-enabled.
- docker: build on pushes to release/**; restrict retag-from-main jobs
  to PRs and main-branch pushes.
- docs-build: build on pushes to release/**; include release/** in the
  pre-job force-branches list.
This commit is contained in:
Zack Pollard
2026-04-24 17:57:29 +01:00
parent 39cfad7136
commit 2390ad0fab
4 changed files with 113 additions and 22 deletions
+5 -3
View File
@@ -3,7 +3,7 @@ name: Docker
on:
workflow_dispatch:
push:
branches: [main]
branches: [main, 'release/**']
pull_request:
release:
types: [published]
@@ -53,7 +53,8 @@ jobs:
permissions:
contents: read
packages: write
if: ${{ fromJSON(needs.pre-job.outputs.should_run).machine-learning == false && !github.event.pull_request.head.repo.fork }}
# Retag sources from the :main image, so only retag for PRs and main-branch pushes.
if: ${{ fromJSON(needs.pre-job.outputs.should_run).machine-learning == false && !github.event.pull_request.head.repo.fork && (github.event_name == 'pull_request' || github.ref == 'refs/heads/main') }}
runs-on: ubuntu-latest
strategy:
matrix:
@@ -83,7 +84,8 @@ jobs:
permissions:
contents: read
packages: write
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == false && !github.event.pull_request.head.repo.fork }}
# Retag sources from the :main image, so only retag for PRs and main-branch pushes.
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == false && !github.event.pull_request.head.repo.fork && (github.event_name == 'pull_request' || github.ref == 'refs/heads/main') }}
runs-on: ubuntu-latest
strategy:
matrix: