# Copyright 2020 The Knative Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This file is automagically synced here from github.com/knative-sandbox/.github
# repo by knobots: https://github.com/knative-sandbox/knobots and will be overwritten.

name: Do Not Submit

on:
  pull_request:
    branches: [ 'main', 'master', 'release-*' ]

jobs:

  donotsubmit:
    name: Do Not Submit
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Do Not Submit
        shell: bash
        env:
          REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }}
        run: |
          set -e
          cd "${GITHUB_WORKSPACE}" || exit 1

          TEMP_PATH="$(mktemp -d)"
          PATH="${TEMP_PATH}:$PATH"

          echo '::group::🐶 Installing reviewdog ... https://github.com/reviewdog/reviewdog'
          curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s -- -b "${TEMP_PATH}" 2>&1
          echo '::endgroup::'

          echo '::group:: Running DO NOT SUBMIT with reviewdog 🐶 ...'
          # Don't fail because of grep
          set +o pipefail
          find . -type f -not -path './vendor/*' -not -path './third_party/*' -not -path './.git/*' -not -path './.github/workflows/*' |
          xargs grep -n "DO NOT SUBMIT" |
          reviewdog -efm="%f:%l:%m" \
                -name="DO NOT SUBMIT" \
                -reporter="github-pr-check" \
                -filter-mode="added" \
                -fail-on-error="true" \
                -level="error"

          echo '::endgroup::'
