name: master

on:
  push:
    branches:
      - master

jobs:
  prune:
    runs-on: ubuntu-latest
    steps:
      -
        # https://github.com/actions/checkout
        name: Checkout
        uses: actions/checkout@v2
      -
        # https://github.com/actions/checkout/issues/6
        name: Fix detached HEAD
        run: git checkout ${GITHUB_REF#refs/heads/}
      -
        name: Build
        run: |
          npm install
          npm run build
      -
        name: Set up Git
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config user.name "${GITHUB_ACTOR}"
          git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
          git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
      -
        name: Commit and push changes
        run: |
          git add .
          if output=$(git status --porcelain) && [ ! -z "$output" ]; then
            git commit -m 'Update generated content'
            git push
          fi