From f5795178bf49f47da789766e8ddcfe55fd6f4a84 Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 12:41:22 -0300 Subject: [PATCH 1/8] add tarpaulin + codecov to CI --- .github/workflows/coverage.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/coverage.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 000000000..d472a69b2 --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,23 @@ +name: coverage + +on: [push] +jobs: + test: + name: coverage + runs-on: ubuntu-latest + container: + image: xd009642/tarpaulin:develop-nightly + options: --security-opt seccomp=unconfined + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Generate code coverage + run: | + cargo +nightly tarpaulin --verbose --all-features --workspace --timeout 120 --out xml + + - name: Upload to codecov.io + uses: codecov/codecov-action@v5 + with: + token: ${{secrets.CODECOV_TOKEN}} + fail_ci_if_error: true From 11ce46a54e99c67a7a6cd62e0deeb1675f3569c7 Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 12:54:16 -0300 Subject: [PATCH 2/8] install deps --- .github/workflows/coverage.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index d472a69b2..2e7439774 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -9,6 +9,8 @@ jobs: image: xd009642/tarpaulin:develop-nightly options: --security-opt seccomp=unconfined steps: + - name: Install deps + run: sudo apt-get install -y protobuf-compiler - name: Checkout repository uses: actions/checkout@v2 From cfb2459bb321b8ab29898b83440ce6de9e43f6d4 Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 12:57:18 -0300 Subject: [PATCH 3/8] no sudo --- .github/workflows/coverage.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 2e7439774..18485e026 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -10,7 +10,9 @@ jobs: options: --security-opt seccomp=unconfined steps: - name: Install deps - run: sudo apt-get install -y protobuf-compiler + run: | + apt-get update + apt-get install -y protobuf-compiler - name: Checkout repository uses: actions/checkout@v2 From 48b8b00fb3884f92fe2d734025a1f34961c45483 Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 15:04:28 -0300 Subject: [PATCH 4/8] cmake dep --- .github/workflows/coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 18485e026..f454a16c7 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -12,7 +12,7 @@ jobs: - name: Install deps run: | apt-get update - apt-get install -y protobuf-compiler + apt-get install -y protobuf-compiler cmake - name: Checkout repository uses: actions/checkout@v2 From 84a19fd536eca0450fc31fba513aa0f612750c20 Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 17:23:16 -0300 Subject: [PATCH 5/8] use namespace.so for coverage ci --- .github/workflows/coverage.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index f454a16c7..71f1bf74c 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -4,17 +4,17 @@ on: [push] jobs: test: name: coverage - runs-on: ubuntu-latest + runs-on: nscloud-ubuntu-22.04-amd64-16x32 container: image: xd009642/tarpaulin:develop-nightly options: --security-opt seccomp=unconfined steps: - name: Install deps run: | - apt-get update - apt-get install -y protobuf-compiler cmake + apt-get update + apt-get install -y protobuf-compiler cmake - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Generate code coverage run: | From 90693d7c38cedcbdb908a18c526990f9dc2d65cd Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 17:48:57 -0300 Subject: [PATCH 6/8] get coverage for integration tests --- .github/workflows/coverage.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 71f1bf74c..b76e320b8 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -8,6 +8,11 @@ jobs: container: image: xd009642/tarpaulin:develop-nightly options: --security-opt seccomp=unconfined + env: + RUSTFLAGS: "-D warnings" + FIREHOSE_ETH_MAINNET_URL: ${{ secrets.FIREHOSE_ETH_MAINNET_URL }} + FIREHOSE_ETH_MAINNET_TOKEN: ${{ secrets.FIREHOSE_ETH_MAINNET_TOKEN }} + RPC_ETH_MAINNET_URL: ${{ secrets.RPC_ETH_MAINNET_URL }} steps: - name: Install deps run: | @@ -15,10 +20,17 @@ jobs: apt-get install -y protobuf-compiler cmake - name: Checkout repository uses: actions/checkout@v4 - + - name: Copy firehose provider file + run: | + envsubst < tests/config/providers/COPY_ME_firehose_eth_mainnet.toml \ + > tests/config/providers/firehose_eth_mainnet.toml + - name: Copy rpc provider file + run: | + envsubst < tests/config/providers/COPY_ME_rpc_eth_mainnet.toml \ + > tests/config/providers/rpc_eth_mainnet.toml - name: Generate code coverage run: | - cargo +nightly tarpaulin --verbose --all-features --workspace --timeout 120 --out xml + cargo +nightly tarpaulin --all-features --workspace --timeout 120 --out xml - name: Upload to codecov.io uses: codecov/codecov-action@v5 From 29e409e3533fa0b3350db443fd54b3c3c7c73e5f Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 18:01:23 -0300 Subject: [PATCH 7/8] install envsubst --- .github/workflows/coverage.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index b76e320b8..b94494803 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -14,12 +14,12 @@ jobs: FIREHOSE_ETH_MAINNET_TOKEN: ${{ secrets.FIREHOSE_ETH_MAINNET_TOKEN }} RPC_ETH_MAINNET_URL: ${{ secrets.RPC_ETH_MAINNET_URL }} steps: + - name: Checkout repository + uses: actions/checkout@v4 - name: Install deps run: | apt-get update - apt-get install -y protobuf-compiler cmake - - name: Checkout repository - uses: actions/checkout@v4 + apt-get install -y protobuf-compiler cmake gettext - name: Copy firehose provider file run: | envsubst < tests/config/providers/COPY_ME_firehose_eth_mainnet.toml \ From ac382cf2ffb37ca6595ddf8702dde72a7e0872b2 Mon Sep 17 00:00:00 2001 From: Leonardo Yvens Date: Fri, 28 Mar 2025 18:29:38 -0300 Subject: [PATCH 8/8] switch to cargo llvm-cov --- .github/workflows/coverage.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index b94494803..6567fe44f 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -4,7 +4,7 @@ on: [push] jobs: test: name: coverage - runs-on: nscloud-ubuntu-22.04-amd64-16x32 + runs-on: nscloud-ubuntu-22.04-amd64-8x16 container: image: xd009642/tarpaulin:develop-nightly options: --security-opt seccomp=unconfined @@ -28,12 +28,13 @@ jobs: run: | envsubst < tests/config/providers/COPY_ME_rpc_eth_mainnet.toml \ > tests/config/providers/rpc_eth_mainnet.toml + - name: Install cargo-llvm-cov + uses: taiki-e/install-action@cargo-llvm-cov - name: Generate code coverage - run: | - cargo +nightly tarpaulin --all-features --workspace --timeout 120 --out xml - + run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info - name: Upload to codecov.io uses: codecov/codecov-action@v5 with: token: ${{secrets.CODECOV_TOKEN}} + files: lcov.info fail_ci_if_error: true