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

tools.yml « workflows « .github - github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d4f7a5d68c858e06b22269a8f01d8fd0949ffec0 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: "tools update"
on:
  schedule:
    # Run once a week at 00:05 AM UTC on Saturday.
    - cron: '5 0 * * 6'

  workflow_dispatch:

jobs:
  tools_update:
    if: github.repository == 'nodejs/node'
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false  # Prevent other jobs from aborting if one fails
      matrix:
        include:
          - id: eslint
            run: |
              cd tools
              NEW_VERSION=$(npm view eslint dist-tags.latest)
              CURRENT_VERSION=$(node -p "require('./node_modules/eslint/package.json').version")
              if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
                echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
                ./update-eslint.sh
              fi
          - id: "lint-md-dependencies"
            run: |
              cd tools/lint-md
              npm ci
              NEW_VERSION=$(npm outdated --parseable | cut -d: -f4 | xargs)
              if [ "$NEW_VERSION" != "" ]; then
                echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
                rm -rf package-lock.json node_modules
                # Include $NEW_VERSION to explicitly update the package.json
                # entry for the dependency and also so that semver-major updates
                # are not skipped.
                npm install --ignore-scripts $NEW_VERSION
                npm install --ignore-scripts
                cd ../..
                make lint-md-rollup
              fi
    steps:
      - uses: actions/checkout@v2
        with:
          persist-credentials: false
      - run: ${{ matrix.run }}
      - 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: "This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}."
          branch: "actions/tools-update-${{ matrix.id }}"  # Custom branch *just* for this Action.
          commit-message: "tools: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}"
          labels: tools
          title: "tools: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}"