Skip to content

test typescript code coverage using jest #10

test typescript code coverage using jest

test typescript code coverage using jest #10

name: code-coverage
on:
push:
# Publish `main` as Docker `latest` image.
branches:
- code-coverage
# Publish `v1.2.3` tags as releases.
tags:
- v*
env:
NODEJS_VERSION: v20.11.1
jobs:
run_tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Run Configure
run: npm run configure
- name: Install istanbul-merge
run: yarn add istanbul-merge --dev
- name: Run tests and generate coverage reports
continue-on-error: true
run: |
yarn jest --testPathPattern="packages/cactus-api-client/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-api-client || true
yarn jest --testPathPattern="packages/cactus-cmd-api-server/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-cmd-api-server || true
yarn jest --testPathPattern="packages/cactus-cmd-socketio-server/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-cmd-socketio-server || true
yarn jest --testPathPattern="packages/cactus-common/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-common || true
yarn jest --testPathPattern="packages/cactus-core/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-core || true
yarn jest --testPathPattern="packages/cactus-core-api/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-core-api || true
yarn jest --testPathPattern="examples/cactus-example-carbon-accounting-backend/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-example-carbon-accounting-backend || true
yarn jest --testPathPattern="examples/cactus-example-carbon-accounting-business-logic-plugin/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts" --coverage --coverageDirectory=./code-coverage-ts/cactus-example-carbon-accounting-business-logic-plugin || true
- name: Merge coverage reports
run: npx istanbul-merge --out coverage.json ./code-coverage-ts/*/coverage-final.json
- name: Generate HTML report
run: npx istanbul report --include coverage.json --dir cacti html
- name: Output text report
run: npx istanbul report --include coverage.json --dir cacti text
- name: Output text-lcov report
run: npx istanbul report --include coverage.json --dir cacti text-lcov
- name: Output text-summary report
run: npx istanbul report --include coverage.json --dir cacti text-summary