README.md #135
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
name: Build GKLS | |
on: | |
push: | |
branches: [ "main", "dev"] | |
tags: | |
- 'v*' | |
pull_request: | |
branches: [ "main" ] | |
workflow_dispatch: | |
jobs: | |
build_wheels_unix: | |
name: Build wheels on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: False | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.13" | |
- name: Build wheels | |
env: | |
CIBW_BUILD: cp312-* cp313-* | |
CIBW_SKIP: "*-manylinux_i686 *-musllinux*" | |
# use latest build | |
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64 | |
CIBW_BUILD_VERBOSITY: 3 | |
run: | | |
python -m pip install -U pip cibuildwheel | |
python -m cibuildwheel --output-dir dist | |
ls -R dist | |
- name: Place wheels in artifacts folder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.os }} | |
path: ./dist/* | |
build_dist: | |
name: Build dist | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Python 3.13 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.13" | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build dist from source | |
run: | | |
python -m pip install build | |
python -m build --sdist | |
- name: Place wheels in artifacts folder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sdist | |
path: ./dist/*.tar.gz | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
needs: [ build_dist, build_wheels_unix ] | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: dist | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
body: "Release ${{ github.ref }}" | |
files: | | |
./dist/**/* | |
- name: Setup Python 3.13 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.13" | |
- name: Upload to PyPI | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
TWINE_USERNAME: ${{ secrets.PYPI_TOKEN_NAME }} | |
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
python -m pip install --upgrade twine | |
python -m twine upload dist/**/* --verbose |