Skip to content

Create node-tests.yml #1

Create node-tests.yml

Create node-tests.yml #1

Workflow file for this run

# Author: Ashutosh Kumar
# Date: 2023-09-25
# Version: 1.0
# Description: This GitHub Actions workflow automates Node.js CI/CD for a Node.js project.
# It performs the following steps:
# Step 1: Check out the source code.
# Step 2: Set up different versions of Node.js for testing.
# Step 3: Perform a clean install of Node.js dependencies.
# Step 4: Cache and restore dependencies for faster builds.
# Step 5: Build the source code.
# Step 6: Run tests using different versions of Node.js.
name: Node.js CI
on:
push:
branches: [ main ] # Trigger the workflow on every commit to the main branch.
pull_request:
branches: [ main ] # Trigger the workflow on pull requests targeting the main branch.
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x, 14.x, 16.x] # Define a matrix of Node.js versions to test.There would be 3 jobs for 12.x, 14.x, 16.x
steps:
- name: Checkout code
uses: actions/checkout@v2 # Step 1: Check out the source code from the repository.
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm' # Step 2: Use npm caching for faster dependency installs.
- name: Install Node.js dependencies
run: npm ci # Step 3: Perform a clean install of Node.js dependencies.
- name: Run tests
run: npm test # Step 4: Run tests using the specified Node.js version.