summaryrefslogtreecommitdiffstats
path: root/.github/workflows/authors-file.yml
blob: 3970aee681d4e99e7fcb229a0c145dcf5fed46d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: AUTHORS file

on:
  pull_request: { }

jobs:
  authors-file:
    name: AUTHORS file
    runs-on: ubuntu-latest

    steps:
      - name: Checkout HEAD
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Check whether ./AUTHORS is up-to-date
        run: |
          set -exo pipefail
          sort -uo AUTHORS AUTHORS
          git add AUTHORS
          git log --format='format:%aN <%aE>' "$(
            git merge-base "origin/$GITHUB_BASE_REF" "origin/$GITHUB_HEAD_REF"
          )..origin/$GITHUB_HEAD_REF" >> AUTHORS
          sort -uo AUTHORS AUTHORS
          git diff AUTHORS >> AUTHORS.diff

      - name: Complain if ./AUTHORS isn't up-to-date
        run: |
          if [ -s AUTHORS.diff ]; then
            cat <<'EOF' >&2
          There are the following new authors. If the commit author data is correct,
          either add them to the AUTHORS file or update .mailmap. See gitmailmap(5) or:
          https://git-scm.com/docs/gitmailmap
          Don't hesitate to ask us for help if necessary.
          EOF
            cat AUTHORS.diff
            exit 1
          fi