Skip to content

Auto Create Release PR #26278

Auto Create Release PR

Auto Create Release PR #26278

name: Auto Create Release PR
# When Runway creates release/X.Y.Z (native) or release/X.Y.Z-ota (OTA hotfix),
# this workflow calls create-release-pr.yml.
# Semver / branch convention for mobile hotfixes:
# - release/X.Y.0 — regular release (no OTA_VERSION bump).
# - release/X.Y.Z (Z > 0) — native hotfix (no OTA_VERSION bump).
# - release/X.Y.Z-ota — OTA hotfix; OTA_VERSION is set to v<X.Y.Z>.
# Runway always increments Z past any existing native patch on the same X.Y
# line, so the production OTA tag v<X.Y.Z> never collides with a native tag.
# The `-ota` suffix is a branch-name convention ONLY: CHANGELOG.md header,
# OTA_VERSION, and the production git tag all use the bare X.Y.Z.
on:
create:
permissions:
contents: write
pull-requests: write
id-token: write
jobs:
extract:
if: ${{ github.ref_type == 'branch' && startsWith(github.ref, 'refs/heads/release/') }}
runs-on: ubuntu-latest
outputs:
semver: ${{ steps.out.outputs.semver }}
is_ota: ${{ steps.out.outputs.is_ota }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- id: out
shell: bash
run: |
.github/scripts/extract-semver.sh
call-create-release-pr:
needs: extract
permissions:
contents: write
pull-requests: write
id-token: write
uses: ./.github/workflows/create-release-pr.yml
secrets:
github-token: ${{ secrets.PR_TOKEN }}
google-application-creds-base64: ${{ secrets.GCP_RLS_SHEET_ACCOUNT_BASE64 }}
with:
semver-version: ${{ needs.extract.outputs.semver }}
is-ota: ${{ needs.extract.outputs.is_ota == 'true' }}