diff --git a/.github/workflows/upstream-sync.yml b/.github/workflows/upstream-sync.yml new file mode 100644 index 00000000000..aa7d0456e47 --- /dev/null +++ b/.github/workflows/upstream-sync.yml @@ -0,0 +1,47 @@ +name: Sync main-apache branch with upstream/main + +env: + USERNAME: kie-ci + USEREMAIL: kie-ci0@redhat.com + UPSTREAM_REMOTE: https://github.com/apache/incubator-kie-drools.git + GITHUB_TOKEN: ${{ secrets.APACHE_SYNC_MIDSTREAM_TOKEN }} + +on: + schedule: + - cron: "0 0 * * *" # every day at midnight + workflow_dispatch: + +jobs: + sync-main-apache: + name: Sync main-apache branch + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + token: ${{ secrets.APACHE_SYNC_MIDSTREAM_TOKEN }} + + - name: Setup git environment + run: | + git config --global user.name "$USERNAME" + git config --global user.email "$USEREMAIL" + git remote add upstream $UPSTREAM_REMOTE + + - name: Fetch all + run: git fetch --all --tags + + - name: Checkout main-apache branch + run: git checkout --track origin/main-apache + + - name: Pull main-apache branch + run: git pull + + - name: Merge upstream/main branch + run: git merge --no-edit upstream/main + + - name: Push changes + run: git push + + - name: Push last tag + run: git push origin $(git tag --sort=creatordate | tail -n 1)