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
on: | |
push: | |
pull_request: | |
types: [opened, synchronize, edited, reopened] | |
workflow_dispatch: | |
jobs: | |
sdist: | |
name: sdist | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.x | |
- name: Build sdist | |
run: | | |
python -V | |
python -m pip install twine Cython setuptools | |
python setup.py sdist | |
- name: Publish to PyPi | |
if: startsWith(github.ref, 'refs/heads/main') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
linux: | |
name: ciostream ${{ matrix.arch }} ${{ matrix.platform }} ${{ matrix.spec }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- { platform: manylinux1, arch: x86_64, spec: cp36 } | |
- { platform: manylinux1, arch: x86_64, spec: cp37 } | |
- { platform: manylinux1, arch: x86_64, spec: cp38 } | |
- { platform: manylinux1, arch: x86_64, spec: cp39 } | |
- { platform: manylinux2014, arch: x86_64, spec: cp310 } | |
- { platform: manylinux2014, arch: x86_64, spec: cp311 } | |
- { platform: manylinux2014, arch: x86_64, spec: cp312 } | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
# - name: Configure Docker | |
# uses: docker/setup- | |
- name: Build/Test Package | |
env: | |
CIBW_ARCHS: all | |
CIBW_BUILD: ${{ matrix.spec }}-manylinux_${{ matrix.arch }} | |
CIBW_BEFORE_BUILD: pip install Cython | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_ENVIRONMENT_PASS_LINUX: GITHUB_RUN_ID | |
run: | | |
set -eux | |
python3 -V | |
python3 -m pip install -U --user cibuildwheel | |
python3 -m cibuildwheel --platform auto --output-dir dist . | |
ls dist | |
- name: Publish to PyPi | |
if: startsWith(github.ref, 'refs/heads/main') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
macos: | |
runs-on: macos-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: Fetch dependencies | |
run: | | |
python3 --version | |
python3 -m pip install cython setuptools wheel build twine | |
- name: Build/Test Package | |
env: | |
# CIBW_BUILD: ${{ matrix.spec }} | |
# CIBW_BEFORE_BUILD: pip install Cython twine | |
# CIBW_BUILD_VERBOSITY: 1 | |
# MACOX_DEPLOYMENT_TARGET: ${{ matrix.deployment_target || '10.9' }} | |
SDKROOT: ${{ matrix.sdkroot || 'macosx' }} | |
run: | | |
python3 -V | |
python3 setup.py bdist_wheel | |
ls dist | |
- name: Publish to PyPi | |
if: startsWith(github.ref, 'refs/heads/main') | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} | |
shell: bash | |
run: | | |
python3 -m twine upload dist/*.whl | |
windows: | |
name: ciostream ${{ matrix.platform }} ${{ matrix.python_arch }} ${{ matrix.spec }} | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
matrix: | |
include: | |
- platform: windows-latest | |
build_arch: x64 | |
python_arch: x64 | |
spec: '3.8' | |
- platform: windows-latest | |
build_arch: x64 | |
python_arch: x64 | |
spec: '3.9' | |
- platform: windows-latest | |
build_arch: x64 | |
python_arch: x64 | |
spec: '3.10' | |
- platform: windows-latest | |
build_arch: x64 | |
python_arch: x64 | |
spec: '3.11' | |
- platform: windows-latest | |
build_arch: x64 | |
python_arch: x64 | |
spec: '3.12' | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install python ${{ matrix.spec }} | |
uses: actions/setup-python@v4 | |
with: | |
architecture: ${{ matrix.python_arch }} | |
python-version: ${{ matrix.spec }} | |
- name: Build/Test Package | |
shell: bash | |
run: | | |
python -V | |
python -m pip install Cython wheel twine | |
python setup.py build bdist_wheel | |
ls dist | |
- name: Publish to PyPi | |
if: startsWith(github.ref, 'refs/heads/main') | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} | |
shell: bash | |
run: | | |
python -m twine upload dist/*.whl | |