subscan 1.3.0

A subdomain enumeration tool leveraging diverse techniques, designed for advanced pentesting operations
Documentation
name: Coverage

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

env:
  RUSTFLAGS: "-Dwarnings"
  CARGO_TERM_COLOR: "always"

jobs:
  cargo-llvm-cov:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
      - uses: Swatinem/rust-cache@v2
      - uses: taiki-e/install-action@cargo-llvm-cov

      # We are not using nextest in here because of it has some
      # shortcomings while working with cargo-llvm-cov and can cause
      # false positive results, just use only cargo-llvm-cov
      #
      # We are using `coverage-ci` profile to reduce binary sizes
      # cause of github action runner disk space limitations. This is
      # a bit slow but we have to do it because we don't have
      # self-hosted runner right now
      - name: Generate code coverage
        run: |
          cargo +nightly llvm-cov \
          --profile coverage-ci \
          --all-features \
          --workspace \
          --doctests \
          --lcov \
          --output-path lcov.info

      - name: Upload coverage report to Codecov
        uses: codecov/codecov-action@v5
        if: ${{ !(startsWith(github.head_ref, 'release-plz') || startsWith(github.head_ref, 'dependabot')) }}
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          files: lcov.info
          fail_ci_if_error: true