diff --git a/.github/workflows/fork-sync.yaml b/.github/workflows/fork-sync.yaml new file mode 100644 index 000000000..b1b28286e --- /dev/null +++ b/.github/workflows/fork-sync.yaml @@ -0,0 +1,39 @@ +name: Sync Fork + +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: + matrix: + branch: + - master + - ${{ needs.lookup-most-recent-release-branch.outputs.most_recent_release_branch }} # if no release branch, this will fail silently + steps: + - uses: tgymnich/fork-sync@v1.8 + with: + owner: k8snetworkplumbingwg # upstream + head: master # upstream + base: ${{ matrix.branch }} # downstream + pr_title: 'task: Sync ${{ matrix.branch }} from upstream' + pr_message: 'Created by [${{ github.repository }} CI](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) (*${{ github.job }}* job).' + retries: 2 + retry_after: 10 + ignore_fail: true