name: GitHub Sync to Upstream Repository on: schedule: - cron: "00 20 * * 0" # every sunday at 20 hours workflow_dispatch: # on button click jobs: sync_with_upstream: runs-on: ubuntu-latest name: Sync master with upstream latest steps: # Step 1: run a standard checkout action, provided by github - name: Checkout master uses: actions/checkout@v2 with: ref: master # submodules: 'recursive' ### possibly needed in your situation # Step 2: run this sync action - specify the upstream repo, upstream branch to sync with, and target sync branch - name: Pull (Fast-Forward) upstream changes id: sync uses: aormsby/Fork-Sync-With-Upstream-action@v2.0 with: upstream_repository: mail-in-a-box/mailinabox upstream_branch: master target_branch: upstream git_pull_args: --ff-only # optional arg use, defaults to simple 'pull' github_token: ${{ secrets.G_TOKEN }} # optional, for accessing repos that require authentication # Step 3: Display a message if 'sync' step had new commits (simple test) - name: Check for new commits if: steps.sync.outputs.has_new_commits run: echo "There were new commits." # Step 4: Print a helpful timestamp for your records (not required) - name: Timestamp run: date