Kronos-Integration/kronos-service-manager-admin

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: CI
on:
  push:
    branches:
      - master
      - next
  pull_request:
    branches:
      - master
      - next
permissions:
  contents: read
jobs:
  test-node:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        node-version:
          - 20.13.1
          - 22.2.0
    steps:
      - uses: actions/checkout@v4.1.6
      - uses: actions/setup-node@v4.0.2
        with:
          node-version: ${{ matrix.node-version }}
          cache: npm
          cache-dependency-path: package-lock.json
      - run: npm ci
      - run: npm run cover --if-present
      - name: Coveralls Parallel
        uses: coverallsapp/github-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          flag-name: run-${{ matrix.test_number }}
          path-to-lcov: build/coverage/lcov.info
          parallel: true
        continue-on-error: true
  release:
    needs:
      - test-node
    runs-on: ubuntu-latest
    permissions:
      contents: write
      issues: write
      pull-requests: write
      id-token: write
    steps:
      - uses: actions/checkout@v4.1.6
      - uses: actions/setup-node@v4.0.2
        with:
          node-version: 20.13.1
          cache: npm
          cache-dependency-path: package-lock.json
      - run: npm ci
      - run: npx semantic-release
        env:
          CI: "true"
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  finish:
    needs:
      - test-node
    runs-on: ubuntu-latest
    steps:
      - name: Coveralls Finished
        uses: coverallsapp/github-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          path-to-lcov: build/coverage/lcov.info
          parallel-finished: true