UHF-9380: Added a note of breaking changes. #2
Workflow file for this run
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: Npm audit | |
on: | |
schedule: | |
- cron: '0 12 * * 0' # Run every fortnight on Sunday at 12 | |
workflow_dispatch: | |
push: | |
branches: | |
- UHF-9380 | |
jobs: | |
npm_audit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: UHF-X_npm_broken_branch | |
- name: Set up Node.js, install dependencies | |
run: | | |
node_version=$(cat .nvmrc) | |
echo "Using Node.js version $node_version" | |
export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" | |
nvm install $node_version | |
nvm use $node_version | |
npm install --silent | |
- name: Check for vulnerabilities | |
id: npm_audit | |
run: | | |
set +e | |
npm audit --package-lock-only --loglevel=error; | |
# The npm audit command will exit with a 0 exit code if no vulnerabilities were found. | |
if [ $? -eq 0 ]; then echo "CREATE_PR=false" >> $GITHUB_OUTPUT; else echo "CREATE_PR=true" >> $GITHUB_OUTPUT; fi; | |
set -e | |
- name: Run npm audit fix | |
id: npm_audit_fix | |
if: steps.npm_audit.outputs.CREATE_PR == 'true' | |
run: | | |
set +e | |
npm audit fix --package-lock-only --loglevel=error; | |
# The npm audit command will exit with a 0 exit code if no vulnerabilities were found. | |
if [ $? -gt 0 ]; then echo "BC_BREAK=true" >> $GITHUB_OUTPUT; fi; | |
set -e | |
- name: Create Pull Request | |
if: steps.npm_audit.outputs.CREATE_PR == 'true' | |
uses: peter-evans/create-pull-request@v4 | |
with: | |
committer: GitHub <[email protected]> | |
author: actions-bot <[email protected]> | |
commit-message: Updated node modules based on npm audit fix | |
title: Automatic npm audit fix | |
labels: auto-update | |
body: | | |
# Npm audit | |
if [ steps.npm_audit_fix.outputs.BC_BREAK == 'true' ]; then | |
:exclamation: NPM Audit fix couldn't fix all vulnerabilities. Fix them manually by running `npm audit fix --force` and test the functionalities thoroughly as there might be breaking changes. :exclamation: | |
fi | |
## How to install | |
* Update the HDBT theme | |
* `git fetch --all` | |
* `git checkout automation/npm-audit` | |
* `git pull origin automation/npm-audit` | |
* In theme folder, run `nvm use && npm i && npm run build` | |
## How to test | |
Run `npm audit` | |
* [ ] Check that the `npm audit` prints `found 0 vulnerabilities` | |
* [ ] Check that the changes for distributed files are sensible | |
branch: automation/npm-audit |