name: New Authors Check on: pull_request: jobs: check-id: name: New Author Check runs-on: ubuntu-latest steps: - run: sudo apt -y install git - run: git clone https://github.com/${{ github.repository }} - run: git remote add author ${{ github.event.pull_request.head.repo.html_url }} working-directory: suricata - run: git fetch author working-directory: suricata - run: git checkout author/${{ github.event.pull_request.head.ref }} working-directory: suricata - name: Export known authors from master branch run: git log --format="%an <%ae>" origin/master | sort | uniq > ../authors.txt working-directory: suricata - name: Export authors from new commits run: git log --format="%an <%ae>" origin/${GITHUB_BASE_REF}... | sort | uniq > ../commit-authors.txt working-directory: suricata - name: Check new authors run: | touch new-authors.txt while read -r author; do echo "Checking author: ${author}" if ! grep -q "^${author}\$" authors.txt; then echo "ERROR: ${author} NOT FOUND" echo "::warning ::New author found: ${author}" echo "${author}" >> new-authors.txt echo has_new_authors="yes" >> $GITHUB_ENV fi done < commit-authors.txt - run: mkdir new-authors - run: cp new-authors.txt new-authors - run: echo ${{ github.event.number }} > new-authors/pr-number.txt - run: ls -l - name: Upload new authors uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: new-authors path: new-authors