python: add back constrains for onnxruntime #255
Workflow file for this run
This file contains 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.7.4 and manually modified by ia0. | |
name: Python - build package | |
on: | |
pull_request: | |
push: | |
branches: | |
- 'main' | |
tags: | |
- 'python-v*' | |
schedule: | |
- cron: '12 3 * * 4' # Refresh the cache weekly. | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
build-wheels: | |
runs-on: ${{ matrix.platform.runner }} | |
strategy: | |
matrix: | |
platform: | |
- runner: ubuntu-latest | |
target: x86_64 | |
- runner: windows-latest | |
target: x64 | |
- runner: macos-14 | |
target: aarch64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # pin@v5 | |
with: | |
python-version: '3.12' | |
- name: Install uv | |
run: curl -LsSf https://astral.sh/uv/0.5.22/install.sh | sh | |
- if: matrix.platform.runner == 'ubuntu-latest' | |
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 | |
with: | |
path: rust/onnx/runtime/build/Linux | |
key: maturin-${{ matrix.platform.target }}-${{ hashFiles('rust/onnx/build.sh') }} | |
- run: python3 ./python/scripts/fix_package_version.py | |
- if: matrix.platform.runner == 'ubuntu-latest' | |
name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.platform.target }} | |
args: --release --out=../dist | |
before-script-linux: "${{ github.workspace }}/rust/onnx/maturin.sh" | |
manylinux: 2_28 | |
working-directory: python | |
- if: matrix.platform.runner != 'ubuntu-latest' | |
name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.platform.target }} | |
args: --release --out=../dist | |
working-directory: python | |
- if: matrix.platform.runner != 'windows-latest' | |
name: Check that `uv add magika.whl` works | |
run: | | |
mkdir /tmp/test-uv | |
cp -vR dist/*.whl /tmp/test-uv | |
cd /tmp/test-uv | |
uv init | |
uv add ./$(\ls -1 *.whl | head -n 1) | |
- if: matrix.platform.runner == 'windows-latest' | |
name: Check that `uv add magika.whl` works | |
shell: pwsh | |
run: | | |
mkdir C:\test-uv | |
Copy-Item -Path dist\*.whl -Destination C:\test-uv | |
cd C:\test-uv | |
$env:PATH += ";$HOME/.local/bin" | |
uv init | |
$wheel = Get-ChildItem -Filter *.whl | Select-Object -ExpandProperty Name | |
uv add ".\$wheel" | |
- name: Install wheels | |
run: python3 -m pip install $(python -c "import glob; print(glob.glob('dist/*.whl')[0])") | |
- run: magika --version | |
- run: "python3 -c 'import magika; m = magika.Magika(); print(m)'" | |
- run: magika -r tests_data/basic | |
- run: python3 ./python/scripts/run_quick_test_magika_cli.py | |
- run: python3 ./python/scripts/run_quick_test_magika_module.py | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheel-${{ matrix.platform.runner }}-${{ matrix.platform.target }} | |
path: dist | |
# Download, install, and test the wheels with different versions of python | |
test-wheels: | |
needs: [build-wheels] | |
runs-on: ${{ matrix.platform.runner }} | |
strategy: | |
# We want to know in which exact situation the tests fail | |
fail-fast: false | |
matrix: | |
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] | |
platform: | |
- runner: ubuntu-latest | |
target: x86_64 | |
- runner: windows-latest | |
target: x64 | |
- runner: macos-14 | |
target: aarch64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: wheel-${{ matrix.platform.runner }}-${{ matrix.platform.target }} | |
path: dist | |
- name: Setup Python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # pin@v5 | |
with: | |
python-version: '${{ matrix.python-version }}' | |
- name: Install uv | |
run: curl -LsSf https://astral.sh/uv/0.5.22/install.sh | sh | |
- if: matrix.platform.runner != 'windows-latest' | |
name: Check that `uv add magika.whl` works | |
run: | | |
mkdir /tmp/test-uv | |
cp -vR dist/*.whl /tmp/test-uv | |
cd /tmp/test-uv | |
uv init | |
uv add ./$(\ls -1 *.whl | head -n 1) | |
- if: matrix.platform.runner == 'windows-latest' | |
name: Check that `uv add magika.whl` works | |
shell: pwsh | |
run: | | |
mkdir C:\test-uv | |
Copy-Item -Path dist\*.whl -Destination C:\test-uv | |
cd C:\test-uv | |
$env:PATH += ";$HOME/.local/bin" | |
uv init | |
$wheel = Get-ChildItem -Filter *.whl | Select-Object -ExpandProperty Name | |
uv add ".\$wheel" | |
- name: Install the wheel | |
run: python3 -m pip install $(python -c "import glob; print(glob.glob('dist/*.whl')[0])") | |
- run: magika --version | |
- run: "python3 -c 'import magika; m = magika.Magika(); print(m)'" | |
- run: magika -r tests_data/basic | |
- run: python3 ./python/scripts/run_quick_test_magika_cli.py | |
- run: python3 ./python/scripts/run_quick_test_magika_module.py | |
build-pure-python-wheel: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install uv | |
run: curl -LsSf https://astral.sh/uv/0.5.22/install.sh | sh | |
- run: uv run ./scripts/prepare_pyproject_for_pure_python_wheel.py | |
working-directory: python | |
- name: Build pure python wheel | |
run: uv build --wheel --out-dir ../dist | |
working-directory: python | |
- name: Check that `uv add magika.whl` works | |
run: | | |
mkdir /tmp/test-uv | |
cp -vR dist/*.whl /tmp/test-uv | |
cd /tmp/test-uv | |
uv init | |
uv add ./$(\ls -1 *.whl | head -n 1) | |
- name: Install the wheel | |
run: python3 -m pip install $(python -c "import glob; print(glob.glob('dist/*.whl')[0])") | |
- run: magika --version | |
- run: "python3 -c 'import magika; m = magika.Magika(); print(m)'" | |
- run: magika -r tests_data/basic | |
- run: python3 ./python/scripts/run_quick_test_magika_cli.py | |
- run: python3 ./python/scripts/run_quick_test_magika_module.py | |
- name: Upload wheel | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheel-pure-python | |
path: dist | |
# Download, install, and test the pure python wheel on multiple platforms | |
test-pure-python-wheel: | |
needs: [build-pure-python-wheel] | |
runs-on: ${{ matrix.platform.runner }} | |
strategy: | |
# We want to know in which exact situation the tests fail | |
fail-fast: false | |
matrix: | |
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] | |
platform: | |
- runner: ubuntu-latest | |
target: x86_64 | |
- runner: windows-latest | |
target: x64 | |
- runner: macos-14 | |
target: aarch64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: wheel-pure-python | |
path: dist | |
- name: Setup Python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # pin@v5 | |
with: | |
python-version: '${{ matrix.python-version }}' | |
- name: Install uv | |
run: curl -LsSf https://astral.sh/uv/0.5.22/install.sh | sh | |
- if: matrix.platform.runner != 'windows-latest' | |
name: Check that `uv add magika.whl` works | |
run: | | |
mkdir /tmp/test-uv | |
cp -vR dist/*.whl /tmp/test-uv | |
cd /tmp/test-uv | |
uv init | |
uv add ./$(\ls -1 *.whl | head -n 1) | |
- if: matrix.platform.runner == 'windows-latest' | |
name: Check that `uv add magika.whl` works | |
shell: pwsh | |
run: | | |
mkdir C:\test-uv | |
Copy-Item -Path dist\*.whl -Destination C:\test-uv | |
cd C:\test-uv | |
$env:PATH += ";$HOME/.local/bin" | |
uv init | |
$wheel = Get-ChildItem -Filter *.whl | Select-Object -ExpandProperty Name | |
uv add ".\$wheel" | |
- name: Install the wheel | |
run: python3 -m pip install $(python -c "import glob; print(glob.glob('dist/*.whl')[0])") | |
- run: magika --version | |
- run: "python3 -c 'import magika; m = magika.Magika(); print(m)'" | |
- run: magika -r tests_data/basic | |
- run: python3 ./python/scripts/run_quick_test_magika_cli.py | |
- run: python3 ./python/scripts/run_quick_test_magika_module.py |