diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 000000000..6567fe44f --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,40 @@ +name: coverage + +on: [push] +jobs: + test: + name: coverage + runs-on: nscloud-ubuntu-22.04-amd64-8x16 + 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: Checkout repository + uses: actions/checkout@v4 + - name: Install deps + run: | + apt-get update + apt-get install -y protobuf-compiler cmake gettext + - 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: Install cargo-llvm-cov + uses: taiki-e/install-action@cargo-llvm-cov + - name: Generate code coverage + 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