Created
February 1, 2021 09:55
-
-
Save satnami/91f4d4a39675d534a677406b41c6b4a0 to your computer and use it in GitHub Desktop.
Github Actions to Merge upstream branches
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://stackoverflow.com/a/61574295/2118504 | |
# .github/workflows/example.yml | |
name: Merge upstream branches | |
on: | |
schedule: | |
# actually, ~5 minutes is the highest | |
# effective frequency you will get | |
- cron: '* * * * *' | |
jobs: | |
merge: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Merge upstream | |
run: | | |
git config --global user.name 'your-name' | |
git config --global user.email '[email protected]' | |
# "git checkout master" is unnecessary, already here by default | |
git pull --unshallow # this option is very important, you would get | |
# complains about unrelated histories without it. | |
# (but actions/checkout@v2 can also be instructed | |
# to fetch all git depth right from the start) | |
git remote add upstream https://github.com/example/test.git | |
git fetch upstream | |
# Neither forget the -b opt, | |
# the feature/x ref is ambiguous at this stage | |
git checkout -b feature/x origin/feature/x | |
git merge --no-edit upstream/feature/x | |
git push origin feature/x | |
git checkout master | |
git merge --no-edit upstream/master | |
git push origin master | |
# etc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment