tools update #62
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
- 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 <[email protected]> | |
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 }}" |