name: Coverage on: push: { branches: [master] } permissions: { contents: read } concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: coverage: runs-on: ubuntu-latest services: redis: image: redis:5.0.7 ports: - 6379:6379 options: --entrypoint redis-server steps: - uses: actions/checkout@v3 - name: Install Rust (nightly) uses: actions-rust-lang/setup-rust-toolchain@v1 with: { toolchain: nightly } - name: Generate coverage file run: | cargo install cargo-tarpaulin --vers "^0.13" cargo tarpaulin --workspace --out Xml --verbose - name: Upload to Codecov uses: codecov/codecov-action@v3 with: { file: cobertura.xml }