name: Build Windows Python
runs:
using: composite
steps:
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Setting up PATH environment variable
shell: bash
run: echo "c:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\Roslyn" >> $GITHUB_PATH
- name: Installing rust targets
shell: bash
run: |
rustup target add i686-pc-windows-msvc
rustup target add aarch64-pc-windows-msvc
rustup target add x86_64-pc-windows-msvc
- name: Install maturin
working-directory: ./python
shell: bash
run: pip install maturin
- uses: actions/setup-python@v5
with:
python-version: "3.13"
architecture: "x86"
- name: Building i686 3.13 wheel
working-directory: ./python
shell: bash
run: maturin build -i 3.13 --release --target=i686-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.13"
architecture: "x64"
- name: Building x86_64, aarch64 3.13 wheel
working-directory: ./python
shell: bash
run: |
maturin build -i 3.13 --release --target=x86_64-pc-windows-msvc
maturin build -i 3.13 --release --target=aarch64-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.12"
architecture: "x86"
- name: Building i686 3.12 wheel
working-directory: ./python
shell: bash
run: maturin build -i 3.12 --release --target=i686-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.12"
architecture: "x64"
- name: Building x86_64, aarch64 3.12 wheel
working-directory: ./python
shell: bash
run: |
maturin build -i 3.12 --release --target=x86_64-pc-windows-msvc
maturin build -i 3.12 --release --target=aarch64-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: "x86"
- name: Building i686 3.11 wheel
working-directory: ./python
shell: bash
run: maturin build -i 3.11 --release --target=i686-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: "x64"
- name: Building x86_64, aarch64 3.11 wheel
working-directory: ./python
shell: bash
run: |
maturin build -i 3.11 --release --target=x86_64-pc-windows-msvc
maturin build -i 3.11 --release --target=aarch64-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: "x86"
- name: Building i686 3.10 wheel
working-directory: ./python
shell: bash
run: maturin build -i 3.10 --release --target=i686-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: "x64"
- name: Building x86_64, aarch64 3.10 wheel
working-directory: ./python
shell: bash
run: |
maturin build -i 3.10 --release --target=x86_64-pc-windows-msvc
maturin build -i 3.10 --release --target=aarch64-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.9"
architecture: "x86"
- name: Building i686 3.9 wheel
working-directory: ./python
shell: bash
run: maturin build -i 3.9 --release --target=i686-pc-windows-msvc
- uses: actions/setup-python@v5
with:
python-version: "3.9"
architecture: "x64"
- name: Building x86_64, aarch64 3.9 wheel
working-directory: ./python
shell: bash
run: |
maturin build -i 3.9 --release --target=x86_64-pc-windows-msvc
maturin build -i 3.9 --release --target=aarch64-pc-windows-msvc
- name: Place Artifacts
shell: bash
run: mv target/wheels/*.whl .
- uses: actions/upload-artifact@v4
with:
name: python-wheels-windows
path: ./*.whl