name: Remove Trailing Whitespaces

on:
  schedule:
    - cron: '22 10 * * 2'

jobs:
  fix:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2
      -
        name: Remove Trailing Whitespaces
        run: |
          find . -not -path '*/\.git/*' -type f -not -name '*.go' -exec sed -i 's/[[:space:]]\{1,\}$//' {} \+
      -
        name: Set up Git
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config user.name "coredns[bot]"
          git config user.email "bot@bot.coredns.io"
          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 -s -m 'auto remove trailing whitespaces'
            git push
          fi
