Welcome to mirror list, hosted at ThFree Co, Russian Federation.

authors.yml « workflows « .github - github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e2195c9e73e96b619065b88041f7203175ce3793 (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
name: "authors update"
on:
  schedule:
    # Run once a week at 00:05 AM UTC on Sunday.
    - cron: '5 0 * * 0'

  workflow_dispatch:

jobs:
  authors_update:
    if: github.repository == 'nodejs/node'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: '0'  # This is required to actually get all the authors
      - run: "tools/update-authors.js"  # Run the AUTHORS tool
      - name: "Check for duplicates"
        run: |
          PATTERN_FILE=`mktemp`;
          git diff | egrep '^\+[^+]' | perl -pe 's/^\+(.+?) <.+\n/\1\n/g' > $PATTERN_FILE;
          DUPLICATES=`grep -F -f $PATTERN_FILE AUTHORS | cut -d'<' -f1 | sort | uniq -c | sort -n | grep -v '^ *1 ' | perl -pe 's/^ *\d+ / /'`; # Last part here substitues a space at the start of each line
          echo 'DUPLICATES<<EOF' >> $GITHUB_ENV
          if [ ! -z "${DUPLICATES}" ]; then
            echo "The following may be duplicates; consider adding a .mailmap entry for them:" >> $GITHUB_ENV;
            echo "${DUPLICATES}" >> $GITHUB_ENV;
          fi;
          echo 'EOF' >> $GITHUB_ENV; # Each line of duplicates starts with a space, so it won't conflict with 'EOF'
      - uses: gr2m/create-or-update-pull-request-action@v1  # Create a PR or update the Action's existing PR
        env:
          GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
        with:
          author: Node.js GitHub Bot <github-bot@iojs.org>
          body: "Here are some new additions to the AUTHORS file. This is an automatically generated PR by the `authors.yml` GitHub Action, which runs `tools/update-authors.js`.\n\n{{ env.DUPLICATES }}"
          branch: "actions/authors-update"  # Custom branch *just* for this Action.
          commit-message: "meta: update AUTHORS"
          labels: meta
          title: "meta: update AUTHORS"