Skip to content

Update from Copier (2026-08-16T23-14-58Z) #151

Update from Copier (2026-08-16T23-14-58Z)

Update from Copier (2026-08-16T23-14-58Z) #151

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.name }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: ubuntu-latest
dist_path: dist
os: ubuntu-latest
python: "3.11"
target: native
- name: ubuntu-24.04-arm
dist_path: dist
os: ubuntu-24.04-arm
python: "3.11"
target: native
- name: macos-latest
dist_path: dist
os: macos-latest
python: "3.11"
target: native
- name: windows-latest
dist_path: dist
os: windows-latest
python: "3.11"
target: native
- name: pyodide
dist_path: dist/pyodide
os: ubuntu-latest
python: "3.14"
target: pyodide
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Python
uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
version: ${{ matrix.python }}
- name: Setup Rust
uses: actions-ext/rust/setup@2db8e3e4c56beb7320c7d730bd2c2d6a6447bf6b
- name: Install dependencies
run: make develop
if: matrix.target == 'native'
- name: Lint
run: make lint
if: matrix.target == 'native'
- name: Checks
run: make checks
if: matrix.name == 'ubuntu-latest'
- name: Build
run: make build
if: matrix.target == 'native'
- name: Test
run: make coverage
if: matrix.target == 'native'
- name: Build and test Pyodide wheel
run: make test-pyodide
if: matrix.target == 'pyodide'
- name: Upload test results (Python)
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results-${{ matrix.name }}
path: '**/junit.xml'
if: always() && matrix.target == 'native'
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
with:
files: '**/junit.xml'
if: matrix.name == 'ubuntu-latest'
- name: Upload coverage
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
if: matrix.target == 'native'
- name: Free disk space
run: |
sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc /usr/local/.ghcup /usr/share/swift
df -h /
shell: bash
if: matrix.target == 'native' && runner.os == 'Linux'
- name: Build distributions (Linux x86_64)
run: |
rm -rf dist
make dist-rs
make dist-py-sdist
make dist-py-wheel
make dist-check
shell: bash
env:
CIBW_ARCHS_LINUX: native
if: matrix.name == 'ubuntu-latest'
- name: Build distributions (Linux ARM64)
run: |
rm -rf dist
make dist-py-wheel
make dist-check
shell: bash
env:
CIBW_ARCHS_LINUX: native
if: matrix.name == 'ubuntu-24.04-arm'
- name: Build distributions (macOS/Windows)
run: |
rm -rf dist
make dist-py-wheel
make dist-check
shell: bash
env:
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.0
if: matrix.target == 'native' && runner.os != 'Linux'
- name: Test wheel
uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_rust
if: matrix.target == 'native' && runner.os == 'Linux'
- name: Test source distribution
uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_rust
if: matrix.name == 'ubuntu-latest'
- name: Upload distributions
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dist-${{ matrix.name }}
path: ${{ matrix.dist_path }}