diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index fca3c7a..a6808c1 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -1,6 +1,11 @@ name: Continuous Integration -on: pull_request +on: + push: + branches: + - main + pull_request: + workflow_dispatch: jobs: linter: @@ -35,7 +40,8 @@ jobs: - name: Install Dependencies run: npm ci - name: Run ${{ matrix.test }} Tests and Add Annotations - run: npm run test:${{ matrix.test }} -- --ci --reporters=default --reporters=github-actions --reporters=jest-junit + id: tests + run: npm run test:${{ matrix.test }} -- --ci --coverage --reporters=default --reporters=github-actions --reporters=jest-junit env: CONDUCTOR_SERVER_URL: ${{ matrix.test == 'integration:v4' && vars.SERVER_URL_V4 || vars.SERVER_URL }} CONDUCTOR_AUTH_KEY: ${{ matrix.test == 'integration:v4' && secrets.AUTH_KEY_V4 || secrets.AUTH_KEY }} @@ -48,3 +54,12 @@ jobs: name: ${{ matrix.test }} Test Report path: reports/${{ matrix.test }}-test-results.xml reporter: jest-junit + - name: Upload coverage to Codecov + if: always() + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: ./coverage/lcov.info + flags: ${{ matrix.test }} + name: codecov-${{ matrix.test }}-node-${{ matrix.node-version }} + fail_ci_if_error: false diff --git a/README.md b/README.md index c719bee..41c7820 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # Conductor OSS JavaScript/TypeScript SDK +[![Build Status](https://github.com/conductor-oss/javascript-sdk/actions/workflows/pull_request.yml/badge.svg)](https://github.com/conductor-oss/javascript-sdk/actions/workflows/pull_request.yml) +[![codecov](https://codecov.io/gh/conductor-oss/javascript-sdk/graph/badge.svg?token=CNCOB0N3FI)](https://codecov.io/gh/conductor-oss/javascript-sdk) + A comprehensive TypeScript/JavaScript client for [Conductor OSS](https://github.com/conductor-oss/conductor), enabling developers to build, orchestrate, and monitor distributed workflows with ease. [Conductor](https://www.conductor-oss.org/) is the leading open-source orchestration platform allowing developers to build highly scalable distributed applications. diff --git a/jest.config.mjs b/jest.config.mjs index cd5d205..f98047e 100644 --- a/jest.config.mjs +++ b/jest.config.mjs @@ -4,6 +4,13 @@ export default { preset: "ts-jest", clearMocks: true, coverageProvider: "v8", + collectCoverageFrom: [ + "src/**/*.{ts,tsx}", + "!src/**/*.d.ts", + "!src/**/generated/**", + "!src/**/spec/**", + ], + coverageReporters: ["text", "lcov", "cobertura"], transformIgnorePatterns: ["/node_modules/", "\\.pnp\\.[^\\/]+$"], transform: { "^.+\\.tsx?$": [