diff --git a/.github/workflows/fork-sync.yml b/.github/workflows/fork-sync.yml index e1acca335e81..3e8d355a2794 100644 --- a/.github/workflows/fork-sync.yml +++ b/.github/workflows/fork-sync.yml @@ -10,7 +10,46 @@ jobs: sync: runs-on: ubuntu-latest steps: - - uses: tgymnich/fork-sync@v1.9.0 - with: - base: main - head: main + - name: Checkout code + uses: actions/checkout@v4 + + - name: Check for new release in fork + id: check_fork_release + run: | + FORK_RELEASE=$(git ls-remote --tags https://github.com/smartive/stencil-patched.git | cut -d '/' -f 3 | sort -V | tail -n 1) + echo "Latest fork release: $FORK_RELEASE" + echo "{fork_release_tag}={$FORK_RELEASE}" >> $GITHUB_OUTPUT + + - name: Fetch upstream changes + run: | + git remote add upstream https://github.com/ionic-team/stencil.git + git fetch upstream + + - name: Check for new release in upstream + id: check_upstream_release + run: | + UPSTREAM_RELEASE=$(git ls-remote --tags https://github.com/ionic-team/stencil.git | cut -d '/' -f 3 | sort -V | tail -n 1) + echo "Latest upstream release: $UPSTREAM_RELEASE" + echo "{upstream_release_tag}={$UPSTREAM_RELEASE}" >> $GITHUB_OUTPUT + + - name: Set up Git + run: | + + - name: Create Pull Request + if: steps.check_fork_release.outputs.fork_release_tag != steps.check_upstream_release.outputs.upstream_release_tag + run: | + #Set up Git + git config user.name 'CI-Robot' + git config user.email 'mr.robot@smartive.ch' + # Set up your branch for changes + git checkout -b sync-branch + + # Make changes, update files, etc. based on the new release + + # Commit and push changes to your forked repository + git add . + git commit -m "Sync with upstream release ${{ steps.check_upstream_release.outputs.upstream_release_tag }}" + git push origin sync-branch + + # Create Pull Request + gh pr create --base main --head sync-branch --title "Sync with upstream release ${{ steps.check_upstream_release.outputs.upstream_release_tag }}" --body "Syncing with the latest upstream release."