From 58d7fb8a767b7d2127802e7cb67804beca600ed0 Mon Sep 17 00:00:00 2001 From: "python-templates-copier-update[bot]" Date: Sun, 16 Aug 2026 23:15:55 +0000 Subject: [PATCH] Update from Copier (2026-08-16T23-15-51Z) Signed-off-by: python-templates-copier-update[bot] --- .copier-answers.yaml | 3 +- .github/workflows/build.yaml | 62 +++++++++++++++++++++++++++--------- .gitignore | 1 + Makefile | 1 + 4 files changed, 51 insertions(+), 16 deletions(-) diff --git a/.copier-answers.yaml b/.copier-answers.yaml index e36c4ae..672be4a 100644 --- a/.copier-answers.yaml +++ b/.copier-answers.yaml @@ -1,8 +1,9 @@ # Changes here will be overwritten by Copier -_commit: d814faa +_commit: 8ac03b9 _src_path: https://github.com/python-project-templates/base.git add_docs: true add_extension: cppjswasm +add_pyodide: false add_vcpkg: false add_wiki: true email: 3105306+timkpaine@users.noreply.github.com diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 966372b..8cd02b0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -25,11 +25,33 @@ permissions: jobs: build: + name: build (${{ matrix.name }}) runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] + 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 + steps: - name: Checkout @@ -40,53 +62,63 @@ jobs: - name: Setup Python uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446 with: - version: "3.11" + version: ${{ matrix.python }} - name: Setup Node.js uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f with: version: 22.x + if: matrix.target == 'native' - name: Setup C++ uses: actions-ext/cpp/setup@c2b1e90366b3a1c628a1df0748135f5e345ab26f - name: Setup Emscripten uses: mymindstorm/setup-emsdk@4528d102f7230f0e7b276855c01ea1159be0e984 # v16 + if: matrix.target == 'native' - name: Install dependencies run: make develop + if: matrix.target == 'native' - name: Lint run: make lint - if: matrix.os == 'ubuntu-latest' + if: matrix.name == 'ubuntu-latest' - name: Checks run: make checks - if: matrix.os == 'ubuntu-latest' + if: matrix.name == 'ubuntu-latest' - 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.os }} + name: test-results-${{ matrix.name }} path: junit.xml - if: matrix.os == 'ubuntu-latest' + if: matrix.name == 'ubuntu-latest' - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0 with: files: '**/junit.xml' - if: matrix.os == 'ubuntu-latest' + 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: Install build dependencies run: pip install cibuildwheel + if: matrix.target == 'native' - name: Build distributions (Linux x86_64) run: | @@ -98,7 +130,7 @@ jobs: CIBW_BUILD: "cp311-manylinux*" CIBW_ARCHS_LINUX: native CIBW_BUILD_VERBOSITY: 3 - if: matrix.os == 'ubuntu-latest' + if: matrix.name == 'ubuntu-latest' - name: Build distributions (Linux ARM64) run: | @@ -109,7 +141,7 @@ jobs: CIBW_BUILD: "cp311-manylinux*" CIBW_ARCHS_LINUX: native CIBW_BUILD_VERBOSITY: 3 - if: matrix.os == 'ubuntu-24.04-arm' + if: matrix.name == 'ubuntu-24.04-arm' - name: Build distributions (macOS) run: | @@ -118,7 +150,7 @@ jobs: env: CIBW_BUILD: "cp311-macos*" CIBW_BUILD_VERBOSITY: 3 - if: matrix.os == 'macos-latest' + if: matrix.name == 'macos-latest' - name: Build distributions (Windows) run: | @@ -126,22 +158,22 @@ jobs: make dist-py-wheel env: CIBW_BUILD: "cp311-win_amd64" - if: matrix.os == 'windows-latest' + if: matrix.name == 'windows-latest' - name: Test wheel uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446 with: module: python_template_cppjswasm - if: runner.os == 'Linux' + if: matrix.target == 'native' && runner.os == 'Linux' - name: Test source distribution uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446 with: module: python_template_cppjswasm - if: matrix.os == 'ubuntu-latest' + if: matrix.name == 'ubuntu-latest' - name: Upload distributions uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: - name: dist-${{ matrix.os }} - path: dist + name: dist-${{ matrix.name }} + path: ${{ matrix.dist_path }} diff --git a/.gitignore b/.gitignore index 0062b91..8e892eb 100644 --- a/.gitignore +++ b/.gitignore @@ -143,6 +143,7 @@ python_template_cppjswasm/labextension # Emscripten SDK (locally installed) emsdk + # Mac .DS_Store diff --git a/Makefile b/Makefile index 1d8e4d2..fba564b 100644 --- a/Makefile +++ b/Makefile @@ -138,6 +138,7 @@ coverage-cpp: ## run C++ tests and collect test coverage .PHONY: test coverage tests test: test-py test-js test-cpp ## run all tests + coverage: coverage-py coverage-js coverage-cpp ## run all tests and collect test coverage # alias