Removed mimalloc. #126
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Testing package" | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| py-lint: | |
| strategy: | |
| matrix: | |
| cmd: | |
| - black | |
| - ruff | |
| - mypy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.11" | |
| - name: Run lint check | |
| uses: pre-commit/action@v3.0.0 | |
| with: | |
| extra_args: -a ${{ matrix.cmd }} | |
| fmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| components: rustfmt | |
| override: true | |
| - name: Check code format | |
| run: cargo fmt -- --check | |
| clippy: | |
| permissions: | |
| checks: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| override: true | |
| - uses: auguwu/clippy-action@1.4.0 | |
| with: | |
| token: ${{secrets.GITHUB_TOKEN}} | |
| deny: warnings | |
| stubtest: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| override: true | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: 3.x | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - id: setup-venv | |
| name: Setup virtualenv | |
| run: python -m venv .venv | |
| - name: Build lib | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| command: dev --uv | |
| sccache: true | |
| - name: Run stubtest | |
| run: | | |
| set -e | |
| source .venv/bin/activate | |
| stubtest --ignore-disjoint-bases natsrpy | |
| pytest: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| components: llvm-tools-preview | |
| override: true | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: 3.x | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install llvm-cov | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-llvm-cov | |
| - id: prepare-container | |
| name: Prepare docker container | |
| run: docker compose up -d --wait | |
| - id: setup-venv | |
| name: Setup virtualenv | |
| run: uv venv | |
| - name: Run pytest | |
| run: | | |
| set -e | |
| source <(cargo llvm-cov show-env --sh) | |
| export CARGO_TARGET_DIR="$CARGO_LLVM_COV_TARGET_DIR" | |
| export CARGO_INCREMENTAL="1" | |
| cargo llvm-cov clean --workspace | |
| uv run -- maturin dev --uv | |
| uv run -- pytest -vv python/tests --cov natsrpy --cov-report xml --junitxml=junit.xml -o junit_family=legacy | |
| cargo llvm-cov report --lcov --output-path coverage.lcov | |
| - name: Upload test results to Codecov | |
| if: ${{ !cancelled() }} | |
| uses: codecov/test-results-action@v1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: coverage.lcov,coverage.xml | |
| verbose: true | |
| - name: Teardown docker | |
| if: always() | |
| run: docker compose down |