Refs: https://github.com/nodejs/node/pull/45022#issuecomment-1290397901 PR-URL: https://github.com/nodejs/node/pull/45166 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
79 lines
3.1 KiB
YAML
79 lines
3.1 KiB
YAML
name: Tools update
|
|
on:
|
|
schedule:
|
|
# Run once a week at 00:05 AM UTC on Sunday.
|
|
- cron: 5 0 * * 0
|
|
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
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: corepack
|
|
run: |
|
|
make corepack-update
|
|
echo "NEW_VERSION=$(node deps/corepack/dist/corepack.js --version)" >> $GITHUB_ENV
|
|
- 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
|
|
- id: doc
|
|
run: |
|
|
cd tools/doc
|
|
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
|
|
fi
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
persist-credentials: false
|
|
- run: ${{ matrix.run }}
|
|
- uses: gr2m/create-or-update-pull-request-action@dc1726cbf4dd3ce766af4ec29cfb660e0125e8ee
|
|
# Creates a PR or update the Action's existing PR, or
|
|
# no-op if the base branch is already up-to-date.
|
|
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 }}'
|