diff --git a/.github/workflows/CI-pipeline.yml b/.github/workflows/CI-pipeline.yml index 634b911..23e321a 100644 --- a/.github/workflows/CI-pipeline.yml +++ b/.github/workflows/CI-pipeline.yml @@ -27,8 +27,11 @@ on: - master jobs: - test: - runs-on: [ubuntu-latest, windows-latest, macos-latest] + test-on-ubuntu: + runs-on: ubuntu-latest + strategy: + matrix: + node: [14, 16, 18, 20, 22] steps: - name: Checkout repository uses: actions/checkout@v4 @@ -36,7 +39,59 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 14 + node-version: ${{ matrix.node }} + + - name: Install of node dependencies + run: npm install + + - name: Build the source code + run: npm run build + + - name: Run lint + run: npm run lint + + - name: Run tests and check coverage + run: npm run test:coverage + + test-on-windows: + runs-on: windows-latest + strategy: + matrix: + node: [14, 16, 18, 20, 22] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + + - name: Install of node dependencies + run: npm install + + - name: Build the source code + run: npm run build + + - name: Run lint + run: npm run lint + + - name: Run tests and check coverage + run: npm run test:coverage + + test-on-macos: + runs-on: macos-latest + strategy: + matrix: + node: [14, 16, 18, 20, 22] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} - name: Install of node dependencies run: npm install