36 lines
830 B
YAML
36 lines
830 B
YAML
name: Auto Sync Dev to Main
|
|
|
|
on:
|
|
schedule:
|
|
# sync every 2 weeks at midnight
|
|
- cron: '0 0 1,15 * *'
|
|
workflow_dispatch: # Allow manual trigger
|
|
|
|
jobs:
|
|
sync_branches:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v2
|
|
with:
|
|
ref: dev
|
|
fetch-depth: 0
|
|
|
|
- name: Configure Git
|
|
run: |
|
|
git config --global user.email "${{ secrets.GITHUBEMAILADDRESS }}"
|
|
git config --global user.name "${{ secrets.GITHUBUSER }}"
|
|
|
|
- name: Merge dev into main
|
|
run: |
|
|
git checkout main
|
|
git merge dev --no-edit
|
|
git push origin main
|
|
|
|
- name: Handle merge conflicts
|
|
run: |
|
|
if git ls-files -u | grep -q . ; then
|
|
echo "Merge conflict detected. Please resolve manually."
|
|
exit 1
|
|
fi
|