Files added by PR #2008 that were not in main were dropped during the merge. Restore all src/, docs/, and scripts/ files from the pre-merge PR head. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
69 lines
2.3 KiB
YAML
69 lines
2.3 KiB
YAML
# ⚠️ SCAFFOLD ONLY — not active. See docs/proposals/rfc-gitops-branching-strategy.md
|
|
|
|
name: Create Release Branch
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Release version (e.g., 2.34)"
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
create-release:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
ref: next
|
|
fetch-depth: 0
|
|
token: ${{ secrets.RELEASE_PAT }}
|
|
|
|
- name: Validate version format
|
|
run: |
|
|
if ! echo "${{ inputs.version }}" | grep -qE '^[0-9]+\.[0-9]+$'; then
|
|
echo "::error::Version must be X.Y format (e.g., 2.34)"
|
|
exit 1
|
|
fi
|
|
if git show-ref --verify --quiet "refs/remotes/origin/release/${{ inputs.version }}"; then
|
|
echo "::error::release/${{ inputs.version }} already exists"
|
|
exit 1
|
|
fi
|
|
|
|
- name: Create release branch
|
|
run: |
|
|
BRANCH="release/${{ inputs.version }}"
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git checkout -b "$BRANCH"
|
|
git push origin "$BRANCH"
|
|
echo "## Created \`$BRANCH\` from \`next\` at $(git rev-parse --short HEAD)" >> "$GITHUB_STEP_SUMMARY"
|
|
|
|
- name: Open tracking issue
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh issue create \
|
|
--title "Release v${{ inputs.version }}.0" \
|
|
--label "release" \
|
|
--body "## Release v${{ inputs.version }}.0
|
|
|
|
**Release branch:** \`release/${{ inputs.version }}\`
|
|
**Created from:** \`next\` at \`$(git rev-parse --short HEAD)\`
|
|
**Created by:** @${{ github.actor }}
|
|
|
|
### Checklist
|
|
- [ ] All targeted fixes merged to \`release/${{ inputs.version }}\`
|
|
- [ ] RC published and smoke-tested (\`npm i gsd-pi@rc\`)
|
|
- [ ] CHANGELOG reviewed
|
|
- [ ] Production deployment approved
|
|
|
|
### Post-Release
|
|
- [ ] \`release/${{ inputs.version }}\` merged to \`main\`
|
|
- [ ] Tag \`v${{ inputs.version }}.0\` created
|
|
- [ ] \`@latest\` promoted
|
|
- [ ] Back-merged to \`next\`"
|