name: Sync workflows for GHES

on:
  push:
    branches: [ main ]

jobs:
  sync:
    permissions:
      contents: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: |
        git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
        git config user.email "cschleiden@github.com"
        git config user.name "GitHub Actions"
    - uses: actions/setup-node@v3
      with:
        node-version: '16'
        cache: 'npm'
        cache-dependency-path: script/sync-ghes/package-lock.json
    - name: Check starter workflows for GHES compat
      run: |
        npm ci
        npx ts-node-script ./index.ts
      working-directory: ./script/sync-ghes
    - run: |
        git add -A
        if [ -z "$(git status --porcelain)" ]; then
          echo "No changes to commit"
        else
          git commit -m "Updating GHES workflows"
        fi
    - run: git push
