Skip to content

Commit

Permalink
testing code coverage logic on ci
Browse files Browse the repository at this point in the history
  • Loading branch information
aldousalvarez committed May 14, 2024
1 parent 6be6447 commit 02eae90
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 1 deletion.
112 changes: 111 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,8 @@ jobs:
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: packages/cactus-api-client/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-api-client
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_PATTERN: ./packages/cactus-api-client/src/test/typescript/integration/default-consortium-provider.test.ts
TAPE_TEST_RUNNER_DISABLED: false
needs: build-dev
Expand All @@ -363,6 +365,13 @@ jobs:
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-api-client/coverage-final.json

cactus-cmd-api-server:
continue-on-error: false
needs:
Expand Down Expand Up @@ -433,6 +442,8 @@ jobs:
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: packages/cactus-cmd-socketio-server/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-cmd-socketio-server
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_RUNNER_DISABLED: true
needs: build-dev
runs-on: ubuntu-22.04
Expand All @@ -454,13 +465,21 @@ jobs:
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-cmd-socketio-server/coverage-final.json

cactus-common:
continue-on-error: false
env:
DEV_BUILD_DISABLED: false
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: packages/cactus-common/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-common
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_PATTERN: '--files={./packages/cactus-common/src/test/typescript/unit/key-converter.test.ts,./packages/cactus-common/src/test/typescript/unit/logging/logger.test.ts}'
TAPE_TEST_RUNNER_DISABLED: false
needs: build-dev
Expand All @@ -482,12 +501,21 @@ jobs:
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-common//coverage-final.json

cactus-core:
continue-on-error: false
env:
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: packages/cactus-core/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-core
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_RUNNER_DISABLED: true
needs: build-dev
runs-on: ubuntu-22.04
Expand All @@ -507,12 +535,21 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-core/coverage-final.json

cactus-core-api:
continue-on-error: false
env:
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: packages/cactus-core-api/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-core-api
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_RUNNER_DISABLED: true
needs: build-dev
runs-on: ubuntu-22.04
Expand All @@ -532,12 +569,21 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-core-api/coverage-final.json

cactus-example-carbon-accounting-backend:
continue-on-error: false
env:
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: examples/cactus-example-carbon-accounting-backend/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-example-carbon-accounting-backend
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_PATTERN: ./examples/cactus-example-carbon-accounting-backend/src/test/typescript/integration/admin-enroll-v1-endpoint.test.ts
TAPE_TEST_RUNNER_DISABLED: false
needs: build-dev
Expand All @@ -558,12 +604,21 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-example-carbon-accounting-backend/coverage-final.json

cactus-example-carbon-accounting-business-logic-plugin:
continue-on-error: false
env:
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: examples/cactus-example-carbon-accounting-business-logic-plugin/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cactus-example-carbon-accounting-business-logic-plugin
JEST_TEST_CODE_COVERAGE_DISABLED: false
TAPE_TEST_RUNNER_DISABLED: true
needs: build-dev
runs-on: ubuntu-22.04
Expand All @@ -583,6 +638,13 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage-ts/cactus-example-carbon-accounting-business-logic-plugin/coverage-final.json

cactus-example-carbon-accounting-frontend:
continue-on-error: false
env:
Expand Down Expand Up @@ -1780,6 +1842,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh

cactus-test-cmd-api-server:
continue-on-error: false
needs:
Expand Down Expand Up @@ -2313,6 +2376,53 @@ jobs:
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
generate_coverage_report:
runs-on: ubuntu-22.04
needs: build-dev
steps:
- name: Use Node.js ${{ env.NODEJS_VERSION }}
uses: actions/[email protected]
with:
node-version: ${{ env.NODEJS_VERSION }}

- uses: actions/[email protected]

- id: yarn-cache
name: Restore Yarn Cache
uses: actions/[email protected]
with:
key: ${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
path: ./.yarn/
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- name: Install istanbul-merge
run: yarn add istanbul-merge --dev

- name: Run Configure
run: npm run configure

- name: Download coverage reports
uses: actions/[email protected]
with:
name: coverage-reports
path: ./code-coverage
- name: Display structure of downloaded files
run: ls -R ./code-coverage

- 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-summary report
run: npx istanbul report --include coverage.json --dir cacti text-summary


name: Cactus_CI
'on':
pull_request:
Expand All @@ -2323,4 +2433,4 @@ name: Cactus_CI
push:
branches:
- main
- dev
- dev
1 change: 1 addition & 0 deletions packages/cactus-cmd-api-server/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@hyperledger/cactus-cmd-api-server",

"version": "2.0.0-alpha.2",
"description": "API server that combines and exposes all the functionality of a Cactus deployment through a unified REST API interface.",
"keywords": [
Expand Down
2 changes: 2 additions & 0 deletions tools/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ function mainTask()

if [ "${JEST_TEST_RUNNER_DISABLED:-false}" = "true" ]; then
echo "$(date +%FT%T%z) [CI] Jest test runner disabled. Skipping..."
elif [ "${JEST_TEST_CODE_COVERAGE_DISABLED:-true}" = "false" ]; then
yarn test:jest:all $JEST_TEST_PATTERN --coverage --coverageDirectory=$JEST_TEST_COVERAGE_PATH
else
yarn test:jest:all $JEST_TEST_PATTERN
fi
Expand Down

0 comments on commit 02eae90

Please sign in to comment.