Skip to content

0.2.0a11

0.2.0a11 #288

Workflow file for this run

name: Python Wheel
on:
push:
tags-ignore:
- '**'
branches:
- '**'
release:
types: ['released', 'prereleased']
jobs:
build:
runs-on: ubuntu-latest
container: python:${{ matrix.python-version }}${{ matrix.image-suffix }}-bullseye
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
include:
- python-version: '3.12'
image-suffix: '-rc'
steps:
- uses: actions/checkout@v3
- name: Build
shell: bash
run: |
python3 -m venv /tmp/py-venv
. /tmp/py-venv/bin/activate
python -m pip install -U pip build
python -m build .
- name: Upload Wheel
uses: actions/upload-artifact@v3
with:
name: py_build_cmake-whl-${{ matrix.python-version }}
path: dist/py_build_cmake-*.whl
- name: Upload source
uses: actions/upload-artifact@v3
with:
name: py_build_cmake-src-${{ matrix.python-version }}
path: dist/py_build_cmake-*.tar.gz
test:
needs: build
runs-on: ubuntu-latest
container: python:${{ matrix.python-version }}${{ matrix.image-suffix }}-bullseye
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
include:
- python-version: '3.12'
image-suffix: '-rc'
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-whl-${{ matrix.python-version }}
path: dist
- name: Run Nox
run: |
python -m pip install -U pip nox distlib jinja2
python -m nox --force-color
env:
PY_BUILD_CMAKE_WHEEL_DIR: ${{ github.workspace }}/dist
build-windows:
runs-on: windows-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Build
shell: powershell
run: |
python -m venv py-venv
./py-venv/Scripts/Activate.ps1
python -m pip install -U pip build
python -m build .
env:
PYTHONUTF8: 1
- name: Upload Wheel
uses: actions/upload-artifact@v3
with:
name: py_build_cmake-whl-win-${{ matrix.python-version }}
path: dist/py_build_cmake-*.whl
- name: Upload source
uses: actions/upload-artifact@v3
with:
name: py_build_cmake-src-${{ matrix.python-version }}
path: dist/py_build_cmake-*.tar.gz
test-windows:
needs: build-windows
runs-on: windows-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-whl-win-${{ matrix.python-version }}
path: dist
- name: Run Nox
run: |
python -m pip install -U pip nox distlib jinja2
python -m nox --force-color
env:
PY_BUILD_CMAKE_WHEEL_DIR: ${{ github.workspace }}/dist
build-macos:
runs-on: macos-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Build
run: |
python -m venv py-venv
. ./py-venv/bin/activate
python -m pip install -U pip build
python -m build .
- name: Upload Wheel
uses: actions/upload-artifact@v3
with:
name: py_build_cmake-whl-mac-${{ matrix.python-version }}
path: dist/py_build_cmake-*.whl
- name: Upload source
uses: actions/upload-artifact@v3
with:
name: py_build_cmake-src-${{ matrix.python-version }}
path: dist/py_build_cmake-*.tar.gz
test-macos:
needs: build-macos
runs-on: macos-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-whl-mac-${{ matrix.python-version }}
path: dist
- name: Run Nox
run: |
python -m pip install -U pip nox distlib jinja2
python -m nox --force-color
env:
PY_BUILD_CMAKE_WHEEL_DIR: ${{ github.workspace }}/dist
cibw:
needs: [build]
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, windows-2019, macos-11]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-whl-3.11
path: dist
- name: Build Wheels
uses: pypa/cibuildwheel@ce3fb7832089eb3e723a0a99cab7f3eaccf074fd
with:
package-dir: examples/pybind11-project
output-dir: dist
env:
CIBW_ARCHS_LINUX: 'x86_64 i686'
CIBW_ARCHS_WINDOWS: 'AMD64 x86 ARM64'
CIBW_ARCHS_MACOS: 'x86_64 universal2 arm64'
CIBW_BUILD: 'cp311-* pp39-*'
CIBW_ENVIRONMENT: 'PIP_FIND_LINKS=${{ github.workspace }}/dist'
CIBW_ENVIRONMENT_LINUX: 'PIP_FIND_LINKS=/project/dist'
CIBW_ENVIRONMENT_WINDOWS: 'PIP_FIND_LINKS=D:/a/py-build-cmake/py-build-cmake/dist'
- name: Upload Wheels
uses: actions/upload-artifact@v3
with:
name: pybind11_project-whl
path: dist/*.whl
check-release:
if: ${{ github.event.action == 'released' || github.event.action == 'prereleased' }}
needs: [test, test-windows, test-macos, cibw]
runs-on: ubuntu-latest
container: python:${{ matrix.python-version }}-bullseye
strategy:
matrix:
python-version: ['3.11']
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-whl-${{ matrix.python-version }}
path: dist
- name: Install py_build_cmake
run: pip install --find-links=dist py_build_cmake==${{ github.event.release.tag_name }}
- name: 'Check py_build_cmake version'
run: |
[ "${{ github.event.release.tag_name }}" == "$(python -c 'from importlib.metadata import version as v; print(v("py_build_cmake"))')" ]
shell: bash
release:
needs: [check-release]
if: ${{ github.event.action == 'released' || github.event.action == 'prereleased' }}
runs-on: ubuntu-latest
environment:
name: release
url: https://pypi.org/p/py-build-cmake
permissions:
id-token: write # mandatory for trusted publishing
steps:
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-whl-3.11
path: dist
- uses: actions/download-artifact@v3
with:
name: py_build_cmake-src-3.11
path: dist
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@b7f401de30cb6434a1e19f805ff006643653240e