65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
name: Sync Homepage Daily
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '50 22 * * *'
|
|
# push:
|
|
# branches:
|
|
# - private
|
|
|
|
env:
|
|
REMOTE_URL: https://github.com/gethomepage/homepage.git
|
|
REPO_NAME: upstream
|
|
SYNC_BRANCH: dev
|
|
MERGE_BRANCH: integration
|
|
|
|
jobs:
|
|
sync-dev-branch:
|
|
name: Sync Dev Branch
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Checkout my repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ github.repository }}
|
|
token: ${{ github.token }}
|
|
ref: ${{env.SYNC_BRANCH}}
|
|
|
|
- name: Configure git
|
|
run: |
|
|
git remote add ${{env.REPO_NAME}} ${{env.REMOTE_URL}}
|
|
|
|
- name: Fetch remote homepage/dev and merge with local dev
|
|
id: fetch-merge
|
|
run: |
|
|
git fetch ${{env.REPO_NAME}}
|
|
git checkout ${{env.SYNC_BRANCH}}
|
|
lines=$( git diff ${{env.SYNC_BRANCH}}..${{env.REPO_NAME}}/${{env.SYNC_BRANCH}} -- . ':(exclude).github/**' | wc -l )
|
|
echo "Number of detected line changes: $lines"
|
|
if [ $lines -gt 0 ]; then
|
|
git merge --strategy-option ours ${{env.REPO_NAME}}/${{env.SYNC_BRANCH}}
|
|
git push
|
|
fi
|
|
shell: bash
|
|
|
|
sync-integration-branch:
|
|
name: Sync Integration Branch
|
|
runs-on: ubuntu-22.04
|
|
needs:
|
|
- sync-dev-branch
|
|
|
|
steps:
|
|
- name: Checkout dev
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ github.repository }}
|
|
token: ${{ github.token }}
|
|
ref: ${{env.MERGE_BRANCH}}
|
|
|
|
- name: Merge integration with dev
|
|
run: |
|
|
git fetch origin ${{env.SYNC_BRANCH}}
|
|
git merge --strategy-option ours origin/${{env.SYNC_BRANCH}}
|
|
git push
|
|
shell: bash |