diff --git a/.github/workflows/zig.yml b/.github/workflows/zig.yml new file mode 100644 index 00000000..ea7577ab --- /dev/null +++ b/.github/workflows/zig.yml @@ -0,0 +1,28 @@ +name: Change tests + +on: [push] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + python: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - run: rustup update && rustup target add aarch64-unknown-linux-gnu + - uses: Swatinem/rust-cache@v2 + - uses: actions/setup-python@v4 + with: + python-version: "3.10" + cache: pip + cache-dependency-path: '**/requirements.dev.txt' + - run: pip install -r python/requirements.dev.txt + - run: maturin build -m python/Cargo.toml --zig --compatibility manylinux2014 --target aarch64-unknown-linux-gnu --features abi3 + - uses: docker/setup-qemu-action@v2 + with: + platforms: linux/aarch64 + - run: docker run -v "$(pwd)":/workdir --platform linux/aarch64 quay.io/pypa/manylinux2014_aarch64 /bin/bash /workdir/.github/workflows/zig_test.sh diff --git a/.github/workflows/zig_test.sh b/.github/workflows/zig_test.sh new file mode 100644 index 00000000..deebd5cf --- /dev/null +++ b/.github/workflows/zig_test.sh @@ -0,0 +1,9 @@ +cd /workdir || exit +python3.10 -m venv venv +source venv/bin/activate +pip install auditwheel +auditwheel show target/wheels/*.whl +pip install --no-index --find-links=target/wheels/ pyoxigraph +rm -r target/wheels +cd python/tests || exit +python -m unittest diff --git a/python/requirements.dev.txt b/python/requirements.dev.txt index 8e235e25..c0b3dae4 100644 --- a/python/requirements.dev.txt +++ b/python/requirements.dev.txt @@ -1,6 +1,6 @@ black~=23.1 furo -maturin~=1.0 +maturin[zig]~=1.0 mypy~=1.0 ruff~=0.0.255 sphinx~=5.3