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