Remove automatic conflict resolution for merge from release branch (#4362)
This commit is contained in:
8
.github/workflows/release-cycle.yml
vendored
8
.github/workflows/release-cycle.yml
vendored
@ -192,6 +192,8 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
if: needs.state.outputs.merge == 'true'
|
if: needs.state.outputs.merge == 'true'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
MERGE_BRANCH: merge/${{ github.ref_name }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
@ -200,7 +202,9 @@ jobs:
|
|||||||
uses: ./.github/actions/setup
|
uses: ./.github/actions/setup
|
||||||
- run: bash scripts/git-user-config.sh
|
- run: bash scripts/git-user-config.sh
|
||||||
- name: Create branch to merge
|
- name: Create branch to merge
|
||||||
run: bash scripts/release/workflow/prepare-release-merge.sh
|
run: |
|
||||||
|
git checkout -B "$MERGE_BRANCH" "$GITHUB_REF_NAME"
|
||||||
|
git push -f origin "$MERGE_BRANCH"
|
||||||
- name: Create PR back to master
|
- name: Create PR back to master
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6
|
||||||
with:
|
with:
|
||||||
@ -208,7 +212,7 @@ jobs:
|
|||||||
await github.rest.pulls.create({
|
await github.rest.pulls.create({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
head: 'merge/${{ github.ref_name }}',
|
head: process.env.MERGE_BRANCH,
|
||||||
base: 'master',
|
base: 'master',
|
||||||
title: '${{ format('Merge {0} branch', github.ref_name) }}'
|
title: '${{ format('Merge {0} branch', github.ref_name) }}'
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,27 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# Define merge branch name
|
|
||||||
MERGE_BRANCH=merge/$GITHUB_REF_NAME
|
|
||||||
|
|
||||||
# Create the branch and force to start from ref
|
|
||||||
git checkout -B "$MERGE_BRANCH" "$GITHUB_REF_NAME"
|
|
||||||
|
|
||||||
# Get deleted changesets in this branch that might conflict with master
|
|
||||||
# --diff-filter=D - Only deleted files
|
|
||||||
readarray -t DELETED_CHANGESETS < <(git diff origin/master --diff-filter=D --name-only -- '.changeset/*.md')
|
|
||||||
|
|
||||||
# Merge master, which will take those files cherry-picked. Auto-resolve conflicts favoring master.
|
|
||||||
# Ignore conflicts that can't be resolved.
|
|
||||||
git merge origin/master -m "Merge master to $GITHUB_REF_NAME" -X theirs || true
|
|
||||||
|
|
||||||
# Remove the originally deleted changesets to correctly sync with master
|
|
||||||
rm -f "${DELETED_CHANGESETS[@]}"
|
|
||||||
|
|
||||||
# Only git add deleted files
|
|
||||||
git ls-files --deleted .changeset/ | xargs git add
|
|
||||||
|
|
||||||
# Allow empty here since there may be no changes if `rm -f` failed for all changesets
|
|
||||||
git commit --allow-empty -m "Sync changesets with master"
|
|
||||||
git push -f origin "$MERGE_BRANCH"
|
|
||||||
Reference in New Issue
Block a user