singularity-forge/docs/dev/proposals/workflows/backmerge.yml
Jeremy 872b0adb48 docs: reorganize into user-docs/ and dev/ subdirectories
Split flat docs/ into user-docs/ (guides, config, troubleshooting) and
dev/ (ADRs, architecture, extension guides, proposals). Updated
docs/README.md index to reflect new paths.
2026-04-10 09:25:31 -05:00

62 lines
2 KiB
YAML

# ⚠️ SCAFFOLD ONLY — not active. See docs/proposals/rfc-gitops-branching-strategy.md
name: Back-merge Release Fixes
on:
push:
branches:
- "release/**"
jobs:
backmerge:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ secrets.RELEASE_PAT }}
- name: Back-merge to next
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
RELEASE_BRANCH="${GITHUB_REF#refs/heads/}"
echo "Back-merging $RELEASE_BRANCH → next"
git fetch origin next || {
echo "::warning::next branch does not exist — skipping back-merge"
exit 0
}
git checkout next
if git merge "origin/${RELEASE_BRANCH}" --no-edit; then
git push origin next
echo "## ✅ Back-merged \`$RELEASE_BRANCH\` → \`next\`" >> "$GITHUB_STEP_SUMMARY"
else
# Conflict — open a PR for manual resolution
git merge --abort
gh pr create \
--base next \
--head "${RELEASE_BRANCH}" \
--title "backmerge: ${RELEASE_BRANCH} → next (conflict)" \
--body "Automated back-merge from \`${RELEASE_BRANCH}\` to \`next\` has a merge conflict.
**Action required:** Resolve the conflict manually by checking out \`next\` and merging \`${RELEASE_BRANCH}\`:
\`\`\`bash
git checkout next
git merge origin/${RELEASE_BRANCH}
# resolve conflicts
git commit
git push origin next
\`\`\`" \
|| echo "::warning::PR creation failed"
echo "## ⚠️ Conflict merging \`$RELEASE_BRANCH\` → \`next\` — PR opened" >> "$GITHUB_STEP_SUMMARY"
fi
env:
GH_TOKEN: ${{ secrets.RELEASE_PAT }}