# Credit https://github.com/2DegreesInvesting/resources/issues/53

name: File Checker
on: [pull_request]
jobs:
  file-encoding:
    name: Encoding Check
    runs-on: ubuntu-latest

    steps:
      - name: run the checkout action
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: All changed files
        run: |
          files=$(git diff --name-only origin/$GITHUB_BASE_REF...${{ github.sha }})
          IFS=$'\n'; files=($files); unset IFS;  # split the string into an array
          file --mime "${files[@]}"
      - name: Files with wrong encoding.
        run: |
          files=$(git diff --name-only origin/$GITHUB_BASE_REF...${{ github.sha }})
          IFS=$'\n'; files=($files); unset IFS;  # split the string into an array
          ! file --mime "${files[@]}" | grep -v "charset=utf-8\|charset=us-ascii\|charset=binary\| (No such file or directory)$"
