Skip to content

Build/Test/Release

Build/Test/Release #20

Workflow file for this run

# the name of this file must match the one in pypi.org config
name: Build/Test/Release
on:
release:
types:
- published
permissions:
id-token: write # This is required for requesting the JWT
jobs:
source_dist_build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
compiler: [clang++-17]
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Main Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Main Build
uses: ./.github/actions/build
env:
BUILD_OS: ${{ matrix.os }}
CXX: ${{ matrix.compiler }}
- name: Publish source dist release distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
wheels_build:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# macos-13 is an intel runner, macos-14 is apple silicon
os: [ubuntu-latest, macos-13, macos-14]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/[email protected]
with:
config-file: "{package}/pyproject.toml"
- name: Publish wheel release distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse