Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 44 additions & 26 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,28 +86,25 @@ jobs:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
permissions:
id-token: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
os: [ubuntu-24.04-ppc64le]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- uses: dtolnay/rust-toolchain@stable
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Install cibuildwheel
- name: Install uv
run: |
python -m pip install -U --group releaseinfra
python3 -m pip install --user uv==0.11.2
- name: Install cibuildwheel dependencies
run: |
python3 -m uv python install 3.12
python3 -m uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --group releaseinfra
- name: Build wheels
run: |
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *win32 *musl*
Expand All @@ -116,6 +113,18 @@ jobs:
with:
path: ./wheelhouse/*.whl
name: wheel-builds-ppc64le
upload_wheels_ppc64le:
name: Upload wheels for ppc64le
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_wheels_ppc64le", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-ppc64le
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
Expand All @@ -124,28 +133,25 @@ jobs:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
permissions:
id-token: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
os: [ubuntu-24.04-s390x]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- uses: dtolnay/rust-toolchain@stable
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Install cibuildwheel
- name: Install uv
run: |
python -m pip install -U --group releaseinfra
python3 -m pip install --user uv==0.11.2
- name: Install cibuildwheel dependencies
run: |
python3 -m uv python install 3.12
python3 -m uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --group releaseinfra
- name: Build wheels
run: |
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *win32 *musl*
Expand All @@ -154,6 +160,18 @@ jobs:
with:
path: ./wheelhouse/*.whl
name: wheel-builds-s390x
upload_wheels_s390x:
name: Upload wheels for s390x
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_wheels_s390x", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-s390x
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
Expand Down
181 changes: 181 additions & 0 deletions .github/workflows/wheels_dryrun.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
---
name: Wheel Builds Dry Run
on:
pull_request:
branches: [ main, 'stable/*' ]
jobs:
rustworkx-core:
name: Dry run rustworkx-core publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Run cargo publish dry run
run: |
cd rustworkx-core
cargo publish --dry-run
sdist:
name: Build sdist
runs-on: ubuntu-latest
needs: ["upload_shared_wheels"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- name: Install deps
run: pip install -U setuptools-rust build
- name: Build sdist
run: python -m build --sdist
- uses: actions/upload-artifact@v4
with:
path: ./dist/*
name: sdist-rustworkx
- name: Log sdist sha256
run: sha256sum dist/*
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-15-intel, macos-14, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- uses: dtolnay/rust-toolchain@stable
- name: Install cibuildwheel
run: |
python -m pip install -U --group releaseinfra
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: shared-wheel-builds-${{ matrix.os }}
upload_shared_wheels:
name: Log shared build wheel sha256
runs-on: ubuntu-latest
needs: ["build_wheels", "build-win32-wheels"]
steps:
- uses: actions/download-artifact@v4
with:
pattern: shared-wheel-builds-*
merge-multiple: true
path: deploy
- name: Log wheel sha256
run: sha256sum deploy/*
build_wheels_ppc64le:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04-ppc64le]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install uv
run: |
python3 -m pip install --user uv==0.11.2
- name: Install cibuildwheel dependencies
run: |
python3 -m uv python install 3.12
python3 -m uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --group releaseinfra
- name: Build wheels
run: |
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *win32 *musl*
CIBW_ARCHS_LINUX: ppc64le
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: wheel-builds-ppc64le
upload_wheels_ppc64le:
name: Log wheels for ppc64le
runs-on: ubuntu-latest
needs: ["build_wheels_ppc64le", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-ppc64le
path: wheelhouse
- name: Log wheel sha256
run: sha256sum wheelhouse/*
build_wheels_s390x:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04-s390x]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install uv
run: |
python3 -m pip install --user uv==0.11.2
- name: Install cibuildwheel dependencies
run: |
python3 -m uv python install 3.12
python3 -m uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --group releaseinfra
- name: Build wheels
run: |
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *win32 *musl*
CIBW_ARCHS_LINUX: s390x
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: wheel-builds-s390x
upload_wheels_s390x:
name: Log wheels for s390x
runs-on: ubuntu-latest
needs: ["build_wheels_s390x", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-s390x
path: wheelhouse
- name: Log wheel sha256
run: sha256sum wheelhouse/*
build-win32-wheels:
name: Build wheels on win32
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
architecture: 'x86'
- uses: dtolnay/rust-toolchain@stable
with:
targets: i686-pc-windows-msvc
- name: Force win32 rust
run: rustup default stable-i686-pc-windows-msvc
- name: Install cibuildwheel
run: |
python -m pip install -U --group releaseinfra
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *amd64 *musl*
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: shared-wheel-builds-win32
Loading