Skip to content

Publish Python Package #20

Publish Python Package

Publish Python Package #20

Workflow file for this run

# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Publish Python Package
on:
release:
types: [published]
permissions:
contents: read
jobs:
build_wheels:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-11]
python-version: ["cp38-*", "cp39-*", "cp310-*", "cp311-*"]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: ${{ matrix.python-version }}
CIBW_BEFORE_BUILD: 'pip install pybind11 wheel && pip install git+https://github.com/Siegel-Lab/libSps.git'
MACOSX_DEPLOYMENT_TARGET : '10.13'
CIBW_ARCHS_MACOS: "x86_64 universal2 arm64"
CIBW_ARCHS_LINUX: "x86_64"
CIBW_ARCHS_WINDOWS: "AMD64"
- uses: actions/upload-artifact@v3
with:
name: dist
path: ./wheelhouse/*.whl
publish-pypi:
needs: [build_wheels]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: dist
path: ./dist
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}