Sync With Upstream #113
This file contains 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
name: 'Sync With Upstream' | |
on: | |
schedule: | |
- cron: '30 0 * * *' | |
tags-ignore: | |
- '**' | |
workflow_dispatch: | |
env: | |
upstream_branch: "master" | |
branchname: "bradh352/master" | |
projects: "sonic-swss sonic-sairedis sonic-platform-daemons sonic-utilities" | |
jobs: | |
sync_latest_from_upstream: | |
runs-on: ubuntu-latest | |
name: Sync latest commits from upstream repo | |
if: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
steps: | |
- name: Checkout sonic-build | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Update | |
run: | | |
git config --global user.name '[github actions]' | |
git config --global user.email '[email protected]' | |
git pull | |
git remote add upstream https://github.com/sonic-net/sonic-buildimage.git | |
git fetch upstream | |
if ! git rebase upstream/${upstream_branch} ; then | |
while ! git rebase --skip ; do | |
echo "Skipped Commit" | |
done | |
fi | |
git submodule update --init --recursive | |
for project in ${projects} ; do | |
cd src/${project} | |
git checkout ${branchname} | |
git pull | |
cd ../.. | |
done | |
git add . | |
if git status | grep "nothing to commit" > /dev/null ; then | |
echo "nothing to commit" | |
else | |
git commit -am "[bradh352] update ${projects} branches" | |
fi | |
git push --force |