From 0b15fef8c92e2561d709f02bcbb229d59a82088f Mon Sep 17 00:00:00 2001 From: Marco Baumgartner Date: Fri, 8 Dec 2023 13:35:41 +0100 Subject: [PATCH] feat: add fork sync action to check releases --- .github/workflows/fork-sync.yml | 41 +++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/.github/workflows/fork-sync.yml b/.github/workflows/fork-sync.yml index e1acca335e81..18ee37ebb548 100644 --- a/.github/workflows/fork-sync.yml +++ b/.github/workflows/fork-sync.yml @@ -10,7 +10,40 @@ 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@v2 + + - 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 "::set-output name=fork_release_tag::$FORK_RELEASE" + + - 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 "::set-output name=upstream_release_tag::$UPSTREAM_RELEASE" + + - name: Create Pull Request + if: steps.check_fork_release.outputs.fork_release_tag != steps.check_upstream_release.outputs.upstream_release_tag + run: | + # 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."