...
- name: Get branches to update
id: get-branches
run: |
BRANCHES=$(git branch -r | grep -v '\->' | sed 's,origin/,,g' | grep -v "master" | grep -v "fork" | xargs)
BRANCHES=$(echo "$BRANCHES" | tr ' ' ',')
echo "branches=$BRANCHES" >> $GITHUB_OUTPUT
- name: Propagate changes to child branches
run: |
for branch in $(echo "${{ steps.get-branches.outputs.branches }}" | tr ',' '\n')
do
echo "Rebase changes from master into $branch ..."
git checkout $branch
git pull origin master --rebase || git rebase --abort
git push -f origin $branch
done