Kronos-Integration/kronos-service-manager-consul

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:
        node-version:
          - 22.10.0
    steps:
      - name: checkout
        uses: actions/checkout@v4.2.1
      - name: prepare node
        uses: actions/setup-node@v4.0.4
        with:
          node-version: ${{ matrix.node-version }}
          cache: npm
          cache-dependency-path: package-lock.json
      - name: install
        run: npm ci
      - name: test and coverage
        run: npm run cover --if-present
      - name: coveralls
        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:
      - name: checkout
        uses: actions/checkout@v4.2.1
      - name: prepare node
        uses: actions/setup-node@v4.0.4
        with:
          node-version: 22.10.0
          cache: npm
          cache-dependency-path: package-lock.json
      - name: install
        run: npm ci
      - name: release
        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: finish coveralls
        uses: coverallsapp/github-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          path-to-lcov: build/coverage/lcov.info
          parallel-finished: true