Files
Checkmate/.github/workflows/sync-upstream-frontend.yml
T

61 lines
1.9 KiB
YAML

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"