Skip to content

Commit

Permalink
feat: add github action to sync mellanox fork from k8swg upstream
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Zeevi <[email protected]>
  • Loading branch information
maze88 committed Jul 17, 2024
1 parent 1e0d604 commit 03bfb0b
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/fork-sync.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Fork Sync

on:
schedule:
- cron: '0 0 * * *' # nightly
workflow_dispatch: # enable manual trigger

jobs:
lookup-most-recent-release-branch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lookup most recent release branch
id: lookup-most-recent-release-branch
run: |
git fetch --all
echo most_recent_release_branch=$(git branch --remotes --sort refname | grep network-operator- | tail -n 1 | cut -d '/' -f 2-) >> $GITHUB_OUTPUT
outputs:
most_recent_release_branch: ${{ steps.lookup-most-recent-release-branch.outputs.most_recent_release_branch }}

sync-fork:
runs-on: ubuntu-latest
needs: lookup-most-recent-release-branch
strategy:
fail-fast: false
matrix:
branch:
- master
- ${{ needs.lookup-most-recent-release-branch.outputs.most_recent_release_branch }}
steps:
- uses: actions/checkout@v4
if: ${{ matrix.branch != '' }}
with:
ref: ${{ matrix.branch }}
fetch-depth: 100
- name: Sync
if: ${{ matrix.branch != '' }}
env:
GH_TOKEN: ${{ secrets.GH_TOKEN_NVIDIA_CI_CD }}
run: |
git config user.name nvidia-ci-cd
git config user.email [email protected]
git remote add upstream https://github.com/k8snetworkplumbingwg/sriov-network-operator.git
git checkout -b sync/upstream-master-to-${{ matrix.branch }}
git pull --no-ff upstream master
git log -n 10 # debug
git push origin HEAD
# gh auth refresh -s project # TODO: check if required before PR creation
# gh pr create \
# --base ${{ matrix.branch }} \
# --title 'sync: from upstream master to ${{ matrix.branch }}' \
# --body 'Created by [*${{ github.job }}* workflow job](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) to sync changes from [upstream](${{ github.server_url }}/k8snetworkplumbingwg/${{ github.event.repository.name }}) to [downstream](${{ github.server_url }}/${{ github.repository }}).' \
# # TODO: uncomment only after testing commands above

0 comments on commit 03bfb0b

Please sign in to comment.