diff --git a/content/actions/guides/building-and-testing-nodejs.md b/content/actions/guides/building-and-testing-nodejs.md index 245a2c519beb..6fa457742b95 100644 --- a/content/actions/guides/building-and-testing-nodejs.md +++ b/content/actions/guides/building-and-testing-nodejs.md @@ -37,7 +37,11 @@ To get started quickly, add the template to the `.github/workflows` directory of ```yaml{:copy} name: Node.js CI -on: [push] +on: + push: + branches: [ $default-branch ] + pull_request: + branches: [ $default-branch ] jobs: build: @@ -46,7 +50,7 @@ jobs: strategy: matrix: - node-version: [8.x, 10.x, 12.x] + node-version: [10.x, 12.x, 14.x, 15.x] steps: - uses: actions/checkout@v2 @@ -54,11 +58,9 @@ jobs: uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - - run: npm install + - run: npm ci - run: npm run build --if-present - run: npm test - env: - CI: true ``` {% endraw %} @@ -70,7 +72,7 @@ The easiest way to specify a Node.js version is by using the `setup-node` action The `setup-node` action takes a Node.js version as an input and configures that version on the runner. The `setup-node` action finds a specific version of Node.js from the tools cache on each runner and adds the necessary binaries to `PATH`, which persists for the rest of the job. Using the `setup-node` action is the recommended way of using Node.js with {% data variables.product.prodname_actions %} because it ensures consistent behavior across different runners and different versions of Node.js. If you are using a self-hosted runner, you must install Node.js and add it to `PATH`. -The template includes a matrix strategy that builds and tests your code with three Node.js versions: 8.x, 10.x, and 12.x. The 'x' is a wildcard character that matches the latest minor and patch release available for a version. Each version of Node.js specified in the `node-version` array creates a job that runs the same steps. +The template includes a matrix strategy that builds and tests your code with four Node.js versions: 10.x, 12.x, 14.x, and 15.x. The 'x' is a wildcard character that matches the latest minor and patch release available for a version. Each version of Node.js specified in the `node-version` array creates a job that runs the same steps. Each job can access the value defined in the matrix `node-version` array using the `matrix` context. The `setup-node` action uses the context as the `node-version` input. The `setup-node` action configures each job with a different Node.js version before building and testing code. For more information about matrix strategies and contexts, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix)" and "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." @@ -78,7 +80,7 @@ Each job can access the value defined in the matrix `node-version` array using t ```yaml strategy: matrix: - node-version: [8.x, 10.x, 12.x] + node-version: [10.x, 12.x, 14.x, 15.x] steps: - uses: actions/checkout@v2 @@ -116,11 +118,9 @@ jobs: uses: actions/setup-node@v1 with: node-version: '12.x' - - run: npm install + - run: npm ci - run: npm run build --if-present - run: npm test - env: - CI: true ``` {% endraw %}