Move to macos-12 builders #136
Workflow file for this run
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: Publish Python distributions to PyPI and TestPyPI | |
on: | |
push: | |
branches: | |
- "!*" | |
tags: | |
- "*" | |
jobs: | |
build-source-archive: | |
name: Build source archive (sdist) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
with: | |
submodules: recursive | |
- name: build sdist | |
run: | | |
python3 setup.py sdist | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: source-archive | |
path: dist/*.tar.gz | |
build-manylinux-3_X: | |
name: Build manylinux wheels (Python3.X) | |
runs-on: ubuntu-latest | |
env: | |
CIBW_BUILD: '{cp,pp}3*x86_64' | |
CIBW_SKIP: '{cp,pp}3{6,7}*' | |
CIBW_MANYLINUX_X86_64_IMAGE: "jameseh96/manylinux2014_x86_64_conan" | |
CIBW_MANYLINUX_PYPY_X86_64_IMAGE: "jameseh96/manylinux2014_x86_64_conan" | |
CIBW_MUSLLINUX_X86_64_IMAGE: "jameseh96/musllinux_1_1_x86_64_conan" | |
CIBW_MUSLLINUX_PYPY_X86_64_IMAGE: "jameseh96/musllinux_1_1_x86_64_conan" | |
steps: | |
- uses: actions/checkout@master | |
with: | |
submodules: recursive | |
- name: build wheels | |
uses: pypa/[email protected] | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: manylinux-3_X | |
path: wheelhouse/*.whl | |
build-mac-3_X: | |
name: Build mac wheels (Python3.X) | |
runs-on: macos-12 | |
env: | |
CIBW_BUILD: '{cp,pp}3*x86_64' | |
CIBW_SKIP: '{cp,pp}3{6,7}*' | |
CIBW_BEFORE_BUILD: 'python3 -m pip install conan==1.*' | |
steps: | |
- uses: actions/checkout@master | |
with: | |
submodules: recursive | |
- name: Set up Python 3 for Conan | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.7 | |
- name: Setup cmake | |
uses: jwlawson/[email protected] | |
with: | |
cmake-version: '3.17.x' | |
- name: Install Python packages | |
run: pip3 install conan==1.* setuptools wheel | |
- name: Check Conan | |
run: which conan | |
- name: Check Conan version | |
run: conan --version | |
- name: Create default conan profile | |
run: conan profile new default --detect | |
- name: Add conancenter remote | |
run: conan remote add -f conancenter https://center.conan.io | |
- name: build wheels | |
uses: pypa/[email protected] | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: mac-3_X | |
path: wheelhouse/*.whl | |
build-mac-3_X-arm: | |
name: Build mac wheels (Python3.X + Arm) | |
runs-on: macos-12 | |
env: | |
CONAN_MACOS_ARM64: "ON" | |
MACOSX_DEPLOYMENT_TARGET: "11" | |
CIBW_BUILD: '{cp,pp}3*arm64' | |
CIBW_SKIP: '{cp,pp}3{6,7}*' | |
CIBW_ARCHS_MACOS: 'arm64' | |
steps: | |
- uses: actions/checkout@master | |
with: | |
submodules: recursive | |
- name: Set up Python 3 for Conan | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.7 | |
- name: Setup cmake | |
uses: jwlawson/[email protected] | |
with: | |
cmake-version: '3.17.x' | |
- name: Install Python packages | |
run: pip3 install conan==1.* setuptools wheel | |
- name: Create default conan profile | |
run: conan profile new default --detect | |
- name: Add conancenter remote | |
run: conan remote add -f conancenter https://center.conan.io | |
- name: build wheels | |
uses: pypa/[email protected] | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: mac-3_X-arm | |
path: wheelhouse/*.whl | |
upload: | |
name: Publish to PyPI | |
runs-on: ubuntu-latest | |
needs: [build-source-archive, build-manylinux-3_X, build-mac-3_X, build-mac-3_X-arm] | |
steps: | |
- name: Create ./dist | |
run: mkdir ./dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: source-archive | |
path: dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: manylinux-3_X | |
path: dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: mac-3_X | |
path: dist | |
- uses: actions/download-artifact@v4 | |
with: | |
name: mac-3_X-arm | |
path: dist | |
- name: Publish distribution to Test PyPI | |
if: startsWith(github.ref, 'refs/tags/v') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository_url: https://test.pypi.org/legacy/ | |
- name: Publish distribution to PyPI | |
if: startsWith(github.ref, 'refs/tags/v') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} |