name: CHANGELOG Checks
on:
  push:
    branches:
      - master
      - 'release/**'
  pull_request:
    paths:
      - CHANGELOG.md
  pull_request_target:

env:
  GO_VERSION: "1.14"
  GO111MODULE: on

jobs:
  changes:
    if: github.event_name == 'pull_request_target' && !contains(fromJSON('["anGie44", "bflad", "breathingdust", "gdavison", "maryelizbeth", "YakDriver"]'), github.actor)
    name: Filter Changes
    runs-on: ubuntu-latest
    outputs:
      changed: ${{ steps.filter.outputs.changed }}
    steps:
      - uses: dorny/paths-filter@v2
        id: filter
        with:
          filters: |
            changed:
              - CHANGELOG.md
  comment:
    needs: changes
    if: ${{ needs.changes.outputs.changed == 'true' }}
    name: Comment
    runs-on: ubuntu-latest
    steps:
      - name: Find Existing PR Comment
        id: prc
        uses: peter-evans/find-comment@v1
        with:
          issue-number: ${{ github.event.pull_request.number }}
          comment-author: "github-actions[bot]"
          body-includes: "Please note that the `CHANGELOG.md` file contents are handled by the maintainers during merge"
      - run: echo ${{ steps.prc.outputs.comment-id }}
      - name: PR Comment
        if: ${{ steps.prc.outputs.comment-id == '' }}
        uses: peter-evans/create-or-update-comment@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          issue-number: ${{ github.event.pull_request.number }}
          body: |-
            Thank you for your contribution! :rocket:

            Please note that the `CHANGELOG.md` file contents are handled by the maintainers during merge. This is to prevent pull request merge conflicts, especially for contributions which may not be merged immediately. Please see the [Contributing Guide](https://github.com/terraform-providers/terraform-provider-aws/blob/master/docs/CONTRIBUTING.md) for additional pull request review items.

            Remove any changes to the `CHANGELOG.md` file and commit them in this pull request to prevent delays with reviewing and potentially merging this pull request.
  misspell:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-go@v2
        with:
          go-version: ${{ env.GO_VERSION }}
      - uses: actions/cache@v2
        continue-on-error: true
        timeout-minutes: 2
        with:
          path: ~/go/pkg/mod
          key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
      - run: cd tools && go install github.com/client9/misspell/cmd/misspell
      - run: misspell -error -source text CHANGELOG.md
