ci: fix failing tests. #2
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
| # This file is autogenerated by maturin v1.8.7 and **manually** edited. You can | |
| # regerate it as follows but do not forget to re-add the manual bits: | |
| # | |
| # maturin generate-ci github --pytest --manifest-path bindings/py/Cargo.toml | |
| # | |
| name: Python | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| permissions: | |
| contents: read | |
| jobs: | |
| linux: | |
| runs-on: ${{ matrix.platform.runner }} | |
| strategy: | |
| matrix: | |
| platform: | |
| - runner: ubuntu-22.04 | |
| target: x86_64 | |
| - runner: ubuntu-22.04 | |
| target: x86 | |
| - runner: ubuntu-22.04 | |
| target: aarch64 | |
| - runner: ubuntu-22.04 | |
| target: armv7 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3.13 | |
| - name: Run Rust tests for Python bindings | |
| run: cargo test --package sysand-py --verbose --no-default-features | |
| - name: Build wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml --features vendored_tls | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| manylinux: auto | |
| before-script-linux: | | |
| /bin/bash .github/scripts/install-linux-dependencies.sh | |
| - name: Build free-threaded wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml -i python3.13t --features vendored_tls | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| manylinux: auto | |
| before-script-linux: | | |
| /bin/bash .github/scripts/install-linux-dependencies.sh | |
| - name: Upload wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-linux-${{ matrix.platform.target }} | |
| path: dist | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| - name: pytest | |
| if: ${{ startsWith(matrix.platform.target, 'x86_64') }} | |
| shell: bash | |
| run: | | |
| /bin/bash .github/scripts/run-pytest.sh | |
| - name: pytest | |
| if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }} | |
| uses: uraimo/run-on-arch-action@v2 | |
| with: | |
| arch: ${{ matrix.platform.target }} | |
| distro: ubuntu22.04 | |
| githubToken: ${{ github.token }} | |
| install: | | |
| apt-get update | |
| apt-get install -y curl python3 | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| run: | | |
| export PATH=$PATH:$HOME/.local/bin | |
| /bin/bash .github/scripts/run-pytest.sh | |
| - name: linters | |
| if: ${{ matrix.platform.target == 'x86_64' }} | |
| shell: bash | |
| run: | | |
| cd bindings/py | |
| source .venv/bin/activate | |
| uv sync --group linters --active --no-install-project --locked | |
| ruff format --check python tests | |
| ruff check python | |
| mypy --strict python | |
| musllinux: | |
| runs-on: ${{ matrix.platform.runner }} | |
| strategy: | |
| matrix: | |
| platform: | |
| - runner: ubuntu-22.04 | |
| target: x86_64 | |
| - runner: ubuntu-22.04 | |
| target: x86 | |
| - runner: ubuntu-22.04 | |
| target: aarch64 | |
| - runner: ubuntu-22.04 | |
| target: armv7 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3.13 | |
| - name: Run Rust tests for Python bindings | |
| run: cargo test --package sysand-py --verbose --no-default-features | |
| - name: Build wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml --features vendored_tls | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| manylinux: musllinux_1_2 | |
| - name: Build free-threaded wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml -i python3.13t --features vendored_tls | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| manylinux: musllinux_1_2 | |
| - name: Upload wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-musllinux-${{ matrix.platform.target }} | |
| path: dist | |
| - name: pytest | |
| if: ${{ startsWith(matrix.platform.target, 'x86_64') }} | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: alpine:latest | |
| options: -v ${{ github.workspace }}:/io -w /io | |
| run: | | |
| apk add curl bash | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| export PATH=$PATH:$HOME/.local/bin | |
| /bin/bash .github/scripts/run-pytest.sh | |
| - name: pytest | |
| if: ${{ !startsWith(matrix.platform.target, 'x86') }} | |
| uses: uraimo/run-on-arch-action@v2 | |
| with: | |
| arch: ${{ matrix.platform.target }} | |
| distro: alpine_latest | |
| githubToken: ${{ github.token }} | |
| install: | | |
| apk add curl bash python3 | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| export PATH=$PATH:$HOME/.local/bin | |
| /bin/bash .github/scripts/run-pytest.sh | |
| windows: | |
| runs-on: ${{ matrix.platform.runner }} | |
| strategy: | |
| matrix: | |
| platform: | |
| - runner: windows-latest | |
| target: x64 | |
| rust_target: x86_64-pc-windows-msvc | |
| - runner: windows-latest | |
| target: x86 | |
| rust_target: i686-pc-windows-msvc | |
| python: | |
| - version: "3.13" | |
| label: default | |
| args_suffix: "" | |
| - version: "3.13t" | |
| label: free-threaded | |
| args_suffix: " -i python3.13t" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python.version }} | |
| architecture: ${{ matrix.platform.target }} | |
| - name: Build wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml${{ matrix.python.args_suffix }} | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| - name: Upload wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-windows-${{ matrix.platform.target }}-${{ matrix.python.label }} | |
| path: dist | |
| - name: Run Rust tests for Python bindings | |
| run: | | |
| cd bindings/py | |
| cargo test --package sysand-py --verbose --no-default-features --target ${{ matrix.platform.rust_target }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| - name: pytest | |
| if: ${{ !startsWith(matrix.platform.target, 'aarch64') }} | |
| shell: bash | |
| run: | | |
| export UV_PYTHON=${{ matrix.python.version }} | |
| export ACTIVATION_SCRIPT=.venv/Scripts/activate | |
| /bin/bash .github/scripts/run-pytest.sh ${{ matrix.python.version }} | |
| macos: | |
| runs-on: ${{ matrix.platform.runner }} | |
| strategy: | |
| matrix: | |
| platform: | |
| - runner: macos-13 | |
| target: x86_64 | |
| - runner: macos-14 | |
| target: aarch64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3.13 | |
| - name: Run Rust tests for Python bindings | |
| run: cargo test --package sysand-py --verbose --no-default-features | |
| - name: Build wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| - name: Build free-threaded wheels | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| target: ${{ matrix.platform.target }} | |
| args: --release --out dist --manifest-path bindings/py/Cargo.toml -i python3.13t | |
| sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| - name: Upload wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-macos-${{ matrix.platform.target }} | |
| path: dist | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| - name: pytest | |
| run: | | |
| /bin/bash .github/scripts/run-pytest.sh | |
| sdist: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build sdist | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| command: sdist | |
| args: --out dist --manifest-path bindings/py/Cargo.toml | |
| - name: Upload sdist | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-sdist | |
| path: dist | |
| release: | |
| name: Release | |
| runs-on: ubuntu-latest | |
| if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }} | |
| needs: [linux, musllinux, windows, macos, sdist] | |
| permissions: | |
| # Use to sign the release artifacts | |
| id-token: write | |
| # Used to upload release artifacts | |
| contents: write | |
| # Used to generate artifact attestation | |
| attestations: write | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| - name: Generate artifact attestation | |
| uses: actions/attest-build-provenance@v2 | |
| with: | |
| subject-path: 'wheels-*/*' | |
| - name: Publish to PyPI | |
| if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
| uses: PyO3/maturin-action@v1 | |
| env: | |
| MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} | |
| with: | |
| command: upload | |
| args: --non-interactive --skip-existing wheels-*/* |