name: Sync

on: [ push ]

jobs:
  update-commit-hash:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        if: github.actor != 'github-actions[bot]'
        with:
          persist-credentials: true
      - name: Update commit hash to gitVersion
        if: github.actor != 'github-actions[bot]'
        run: |
          git show -s --format=%H | awk 'NR == 1 {p = $0} NR > 1 {print p; p = $0} END{printf p}' > gitVersion
      - name: Push commit
        uses: EndBug/add-and-commit@v7.1.2
        if: github.actor != 'github-actions[bot]'
        with:
          add: gitVersion
          author_name: github-actions[bot]
          author_email: 41898282+github-actions[bot]@users.noreply.github.com
          message: Update git tree hash
          push: true
  sync-to-gitea:
    runs-on: ubuntu-latest
    needs: update-commit-hash
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        if: github.actor != 'github-actions[bot]'
        with:
          persist-credentials: true
      - name: Sync to Private Git Service
        uses: wearerequired/git-mirror-action@master
        if: github.actor != 'github-actions[bot]'
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
        with:
          source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
          destination-repo: ubuntu@81.70.194.140:StageGuard/SkyAutoPlayerScript.git
  sync-to-gitee:
    runs-on: ubuntu-latest
    needs: update-commit-hash
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        if: github.actor != 'github-actions[bot]'
        with:
          persist-credentials: true
      - name: Sync to Gitee
        uses: wearerequired/git-mirror-action@master
        if: github.actor != 'github-actions[bot]'
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
        with:
          source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
          destination-repo: git@gitee.com:stageguard/SkyAutoPlayerScript.git
