name: Sync Upstream (Frontend) on: workflow_dispatch: jobs: sync-upstream: runs-on: ubuntu-latest steps: - name: Checkout private repository uses: actions/checkout@v3 with: fetch-depth: 0 - name: Get Current Date and Day id: date run: echo "BRANCH_NAME=shadow/$(date +%A-%Y-%m-%d)" >> $GITHUB_ENV - name: Add Upstream Remote and Fetch Changes run: | git remote add upstream https://github.com/bluewave-labs/checkmate.git || true git fetch upstream develop --prune if ! git show-ref --quiet refs/remotes/upstream/develop; then echo "ERROR: upstream/develop not found" exit 1 fi - name: Ensure Local Develop is Up-to-Date run: | git checkout develop git pull origin develop --prune - name: Create Shadow Branch run: | git checkout -b ${{ env.BRANCH_NAME }} develop - name: Identify New Commits id: check_commits run: | NEW_COMMITS=$(git log develop..upstream/develop --pretty=format:"%H" | wc -l) echo "New commits: $NEW_COMMITS" if [ "$NEW_COMMITS" -eq 0 ]; then echo "No new commits. Exiting." exit 0 fi - name: Cherry-pick New Commits run: | git cherry-pick develop..upstream/develop || (git cherry-pick --abort && exit 1) git push origin ${{ env.BRANCH_NAME }} - name: Create Pull Request uses: peter-evans/create-pull-request@v5 with: title: "Sync Upstream (Frontend) - ${{ env.BRANCH_NAME }}" body: "Automated upstream sync for frontend repository. Please review and merge." branch: ${{ env.BRANCH_NAME }} base: develop labels: "sync, upstream" reviewers: "ridvankaratas, ajhollid"