mirror of https://github.com/nodejs/node.git
71 lines
2.8 KiB
YAML
71 lines
2.8 KiB
YAML
name: Tools update
|
|
on:
|
|
schedule:
|
|
# Run once a week at 00:05 AM UTC on Sunday.
|
|
- cron: 5 0 * * 0
|
|
|
|
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
|
|
- 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@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 }}'
|