Skip to content

Update from Copier (2026-09-13T16-06-03Z) (#2) #7

Update from Copier (2026-09-13T16-06-03Z) (#2)

Update from Copier (2026-09-13T16-06-03Z) (#2) #7

Workflow file for this run

name: Build Status
on:
push:
branches:
- main
tags:
- v*
paths-ignore:
- LICENSE
- README.md
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
checks: write
pull-requests: write
jobs:
build:
name: build (${{ matrix.platform }}-${{ matrix.python.version }})
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform:
- ubuntu-24.04
- ubuntu-24.04-arm
- macos-26
- windows-2025
python:
- version: "3.11"
cibuildwheel: "cp311"
primary: true
- version: "3.12"
cibuildwheel: "cp312"
primary: false
- version: "3.13"
cibuildwheel: "cp313"
primary: false
- version: "3.14"
cibuildwheel: "cp314"
primary: false
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Python
uses: actions-ext/python/setup@ec67f82b3bd863948308a41ecb9e70547cbb19c7
with:
version: ${{ matrix.python.version }}
- name: Setup compiler
uses: actions-ext/cpp/setup@22ebafc6f57971978e964f9977333ac98a7c49d9
with:
clang_format: 'false'
- name: Install dependencies
run: make develop
- name: Lint
run: make lint
if: matrix.platform == 'ubuntu-24.04' && matrix.python.primary
- name: Checks
run: make checks
if: matrix.platform == 'ubuntu-24.04' && matrix.python.primary
- name: Test
run: make coverage
- name: Upload test results (Python)
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results-${{ matrix.platform }}-${{ matrix.python.version }}
path: junit.xml
if: always()
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
with:
files: '**/junit.xml'
if: matrix.platform == 'ubuntu-24.04' && matrix.python.primary && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
- name: Upload coverage
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Build distributions (Linux x86_64)
run: |
rm -rf dist
make dist-py-sdist
make dist-py-wheel
make dist-check
env:
CIBW_BUILD: "${{ matrix.python.cibuildwheel }}-manylinux*"
if: matrix.platform == 'ubuntu-24.04'
- name: Build distributions (Linux ARM64)
run: |
rm -rf dist
make dist-py-wheel
make dist-check
env:
CIBW_BUILD: "${{ matrix.python.cibuildwheel }}-manylinux*"
if: matrix.platform == 'ubuntu-24.04-arm'
- name: Build distributions (macOS)
run: |
rm -rf dist
make dist-py-wheel
make dist-check
env:
CIBW_BUILD: "${{ matrix.python.cibuildwheel }}-macos*"
if: matrix.platform == 'macos-26'
- name: Build distributions (Windows)
run: |
if (Test-Path dist) { Remove-Item dist -Recurse -Force }
make dist-py-wheel
make dist-check
env:
CIBW_BUILD: "${{ matrix.python.cibuildwheel }}-win_amd64"
if: matrix.platform == 'windows-2025'
- name: Test wheel
uses: actions-ext/python/test-wheel@ec67f82b3bd863948308a41ecb9e70547cbb19c7
with:
module: python_template_cython
if: runner.os == 'Linux'
- name: Test source distribution
uses: actions-ext/python/test-sdist@ec67f82b3bd863948308a41ecb9e70547cbb19c7
with:
module: python_template_cython
if: matrix.platform == 'ubuntu-24.04'
- name: Upload distributions
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dist-${{ matrix.platform }}-${{ matrix.python.version }}
path: dist