Skip to content

Clean up code structure and add pypi to ci build #2

Clean up code structure and add pypi to ci build

Clean up code structure and add pypi to ci build #2

Workflow file for this run

name: Build Python Package
on: [push, pull_request]
jobs:
build-wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest, macos-14] # macos-14 is ARM64
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --features python --find-interpreter
sccache: 'true'
manylinux: auto
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}
path: dist
build-sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: wheels-sdist
path: dist
collect-artifacts:
name: Collect all artifacts
runs-on: ubuntu-latest
needs: [build-wheels, build-sdist]
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
pattern: wheels-*
path: dist
merge-multiple: true
- name: List all built artifacts
run: |
echo "📦 Built artifacts:"
ls -la dist/
echo ""
echo "Total artifacts: $(ls -1 dist/ | wc -l)"
- name: Upload combined artifacts
uses: actions/upload-artifact@v4
with:
name: all-python-artifacts
path: dist/
retention-days: 90