name: Coverage on: push: branches: [master] jobs: coverage: runs-on: ubuntu-latest services: redis: image: redis:5.0.7 ports: - 6379:6379 options: --entrypoint redis-server steps: - uses: actions/checkout@v2 - name: Install stable uses: actions-rs/toolchain@v1 with: toolchain: stable-x86_64-unknown-linux-gnu profile: minimal override: true - name: Generate Cargo.lock uses: actions-rs/cargo@v1 with: { command: generate-lockfile } - name: Cache Dependencies uses: Swatinem/rust-cache@v1.2.0 - 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@v1 with: { file: cobertura.xml }