name: Resync PR with Master

on:
  pull_request:
    types: [labeled]

env:
  DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}

jobs:
  main:
    if: ${{ github.event.label.name == 'resync' }}
    name: Merge Main
    runs-on: ubuntu-latest
    steps:
      - name: git checkout
        uses: actions/checkout@v2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          ref: ${{ github.event.pull_request.head.ref }}
          fetch-depth: 0

      - name: perform merge
        run: |
          git config --global user.email "${GITHUB_ACTOR}"
          git config --global user.name "${GITHUB_ACTOR}@users.noreply.github.com"
          git status
          git pull
          git checkout "$DEFAULT_BRANCH"
          git status
          git checkout "$GITHUB_HEAD_REF"
          git merge "$DEFAULT_BRANCH" --no-edit
          git push
          git status

      - name: remove label
        if: always()
        uses: actions-ecosystem/action-remove-labels@v1
        with:
          labels: resync
