Skip to content

Commit

Permalink
5747 codecov (#5843)
Browse files Browse the repository at this point in the history
* code cov integration for unit tests

* removed cov threshold

* code cov token

* by default collect coverage

* codecov with existing unittests

* jest config

* only analyze coverage for n v16 unit test runs

* node ver

* codecov paths config

* added layout

* common config

* flag names in ci

* flags under proj

* min CI for test

* build and test for u14 and 16

* validated yml

* components usage

* comment moved at end

* updated comments

* testing 90% cov target

* component cov target

* patch cov

* enable actions + remove old coverage check actions

* codecov config change

* remove unused scripts
  • Loading branch information
jdevcs authored Feb 28, 2023
1 parent 01c3fb8 commit 6df64c1
Show file tree
Hide file tree
Showing 21 changed files with 255 additions and 86 deletions.
65 changes: 6 additions & 59 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,12 @@ jobs:
path: /tmp
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./
- run: yarn test:unit
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
flags: UnitTests
token: ${{ secrets.CODECOV_TOKEN }}
if: ${{ matrix.node == 16 }}

integration:
name: Integration
Expand Down Expand Up @@ -186,62 +192,3 @@ jobs:
path: /tmp
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./
- run: yarn build:docs

coverage-tests-unit:
name: Coverage Tests - Unit
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node: [16]
steps:
- uses: actions/download-artifact@v3
with:
name: web3-${{ matrix.node }}.js.tar.gz
path: /tmp
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./
- run: yarn test:coverage:unit

coverage-tests-integration:
name: Coverage Tests - Integration
needs: build
runs-on: ubuntu-latest
env:
INFURA_GOERLI_HTTP: ${{ secrets.INFURA_GOERLI_HTTP }}
INFURA_GOERLI_WS: ${{ secrets.INFURA_GOERLI_WS }}
strategy:
fail-fast: false
matrix:
node: [16]
backend: ['geth', 'ganache']
mode: ['http', 'ws']
steps:
- uses: actions/download-artifact@v3
with:
name: web3-${{ matrix.node }}.js.tar.gz
path: /tmp
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./
- run: yarn test:coverage:e2e:${{ matrix.backend }}:${{ matrix.mode }}
shell: bash

coverage-tests-ipc:
name: Coverage Tests - Integration IPC
needs: build
runs-on: ubuntu-latest
env:
INFURA_GOERLI_HTTP: ${{ secrets.INFURA_GOERLI_HTTP }}
INFURA_GOERLI_WS: ${{ secrets.INFURA_GOERLI_WS }}
strategy:
fail-fast: false
matrix:
node: [ 16 ]
backend: [ 'geth' ]
mode: [ 'ipc' ]
steps:
- uses: actions/download-artifact@v3
with:
name: web3-${{ matrix.node }}.js.tar.gz
path: /tmp
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./
- run: yarn test:coverage:e2e:${{ matrix.backend }}:${{ matrix.mode }}
shell: bash
78 changes: 78 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
coverage:
status:
project:
default:
target: 80%
threshold: 1%
patch:
default:
target: auto
threshold: 5%

component_management:
default_rules: # default rules that will be inherited by all components
statuses:
- type: project
target: 80%
- type: patch
target: 80%

individual_components:
- component_id: "web3"
paths:
- /packages/web3/src/
- component_id: "web3-core"
paths:
- /packages/web3-core/src/
- component_id: "web3-errors"
paths:
- /packages/web3-errors/src/
- component_id: "web3-eth"
paths:
- /packages/web3-eth/src/
- component_id: "web3-eth-abi"
paths:
- /packages/web3-eth-abi/src/
- component_id: "web3-eth-accounts"
paths:
- /packages/web3-eth-accounts/src/
- component_id: "web3-eth-contract"
paths:
- /packages/web3-eth-contract/src/
- component_id: "web3-eth-ens"
paths:
- /packages/web3-eth-ens/src/
- component_id: "web3-eth-iban"
paths:
- /packages/web3-eth-iban/src/
- component_id: "web3-eth-personal"
paths:
- /packages/web3-eth-personal/src/
- component_id: "web3-net"
paths:
- /packages/web3-net/src/
- component_id: "web3-providers-http"
paths:
- /packages/web3-providers-http/src/
- component_id: "web3-providers-ipc"
paths:
- /packages/web3-providers-ipc/src/
- component_id: "web3-providers-ws"
paths:
- /packages/web3-providers-ws/src/
- component_id: "web3-rpc-methods"
paths:
- /packages/web3-rpc-methods/src/
- component_id: "web3-utils"
paths:
- /packages/web3-utils/src/
- component_id: "web3-validator"
paths:
- /packages/web3-validator/src/

comment:
layout: 'header, diff, flags, components'
behavior: 'default'
require_changes: false
require_base: no
require_head: no
5 changes: 0 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,6 @@
"test:e2e:geth:ipc": "./scripts/test-runner.sh geth ipc",
"test:sync:e2e:geth:ws": "./scripts/test-runner.sh geth ws node sync",
"test:sync:e2e:geth:ipc": "./scripts/test-runner.sh geth ipc node sync",
"test:coverage:e2e:ganache:http": "./scripts/test-runner.sh ganache http node coverage",
"test:coverage:e2e:ganache:ws": "./scripts/test-runner.sh ganache ws node coverage",
"test:coverage:e2e:geth:http": "./scripts/test-runner.sh geth http node coverage",
"test:coverage:e2e:geth:ws": "./scripts/test-runner.sh geth ws node coverage",
"test:coverage:e2e:geth:ipc": "./scripts/test-runner.sh geth ipc node coverage",
"test:e2e:ganache:ws:electron": "./scripts/test-runner.sh ganache ws electron",
"test:e2e:ganache:ws:chrome": "./scripts/test-runner.sh ganache ws chrome",
"test:e2e:ganache:ws:firefox": "./scripts/test-runner.sh ganache ws firefox",
Expand Down
11 changes: 10 additions & 1 deletion packages/web3-core/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-core-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-errors/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-errors-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth-abi/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-abi-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth-accounts/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-accounts-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth-contract/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-contract-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth-ens/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-ens-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth-iban/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-iban-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth-personal/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-personal-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-eth/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-eth-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-net/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-net-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-providers-http/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-providers-http-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-providers-ipc/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-providers-ipc-unit-coverage.json',
},
],
],
};
11 changes: 10 additions & 1 deletion packages/web3-providers-ws/test/unit/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ module.exports = {
...base,
testMatch: ['<rootDir>/test/unit/**/*.(spec|test).(js|ts)'],

coverageDirectory: '.coverage/unit',
coverageDirectory: '../../.coverage/unit',
collectCoverageFrom: ['src/**'],
collectCoverage: true,
coverageReporters: [
[
'json',
{
file: 'web3-providers-ws-unit-coverage.json',
},
],
],
};
Loading

0 comments on commit 6df64c1

Please sign in to comment.