silver-platter 0.8.4

Large scale VCS change management
Documentation
---
name: coverage

"on": [push]
jobs:
  test:
    name: coverage
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          sudo apt -y update
          sudo apt -y install devscripts libapt-pkg-dev libtdb-dev \
            libssl-dev pkg-config nettle-dev clang rustc cargo
          cargo install cargo-tarpaulin

      - name: Upgrade pip
        run: python -m pip install --upgrade pip setuptools_rust setuptools
      - name: Install breezy
        run: python -m pip install --upgrade breezy
      # TODO(jelmer): Add proper test isolation so this isn't necessary
      - name: Setup bzr identity
        run: brz whoami "CI <ci@noreply.github.com>"

      - name: Generate code coverage
        run: |
          cargo tarpaulin --verbose --all-features --timeout 120 --out xml

      - name: Upload to codecov.io
        uses: codecov/codecov-action@v5
        with:
          token: ${{secrets.CODECOV_TOKEN}}