Skip to content

Commit 58d7fb8

Browse files
Update from Copier (2026-08-16T23-15-51Z)
Signed-off-by: python-templates-copier-update[bot] <python-templates-copier-update[bot]@users.noreply.github.com>
1 parent 8d5d5e7 commit 58d7fb8

4 files changed

Lines changed: 51 additions & 16 deletions

File tree

.copier-answers.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# Changes here will be overwritten by Copier
2-
_commit: d814faa
2+
_commit: 8ac03b9
33
_src_path: https://github.com/python-project-templates/base.git
44
add_docs: true
55
add_extension: cppjswasm
6+
add_pyodide: false
67
add_vcpkg: false
78
add_wiki: true
89
email: 3105306+timkpaine@users.noreply.github.com

.github/workflows/build.yaml

Lines changed: 47 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,33 @@ permissions:
2525

2626
jobs:
2727
build:
28+
name: build (${{ matrix.name }})
2829
runs-on: ${{ matrix.os }}
2930

3031
strategy:
3132
matrix:
32-
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
33+
include:
34+
- name: ubuntu-latest
35+
dist_path: dist
36+
os: ubuntu-latest
37+
python: "3.11"
38+
target: native
39+
- name: ubuntu-24.04-arm
40+
dist_path: dist
41+
os: ubuntu-24.04-arm
42+
python: "3.11"
43+
target: native
44+
- name: macos-latest
45+
dist_path: dist
46+
os: macos-latest
47+
python: "3.11"
48+
target: native
49+
- name: windows-latest
50+
dist_path: dist
51+
os: windows-latest
52+
python: "3.11"
53+
target: native
54+
3355

3456
steps:
3557
- name: Checkout
@@ -40,53 +62,63 @@ jobs:
4062
- name: Setup Python
4163
uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
4264
with:
43-
version: "3.11"
65+
version: ${{ matrix.python }}
4466

4567
- name: Setup Node.js
4668
uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f
4769
with:
4870
version: 22.x
71+
if: matrix.target == 'native'
4972

5073
- name: Setup C++
5174
uses: actions-ext/cpp/setup@c2b1e90366b3a1c628a1df0748135f5e345ab26f
5275

5376
- name: Setup Emscripten
5477
uses: mymindstorm/setup-emsdk@4528d102f7230f0e7b276855c01ea1159be0e984 # v16
78+
if: matrix.target == 'native'
5579

5680
- name: Install dependencies
5781
run: make develop
82+
if: matrix.target == 'native'
5883

5984
- name: Lint
6085
run: make lint
61-
if: matrix.os == 'ubuntu-latest'
86+
if: matrix.name == 'ubuntu-latest'
6287

6388
- name: Checks
6489
run: make checks
65-
if: matrix.os == 'ubuntu-latest'
90+
if: matrix.name == 'ubuntu-latest'
6691

6792
- name: Test
6893
run: make coverage
94+
if: matrix.target == 'native'
95+
96+
- name: Build and test Pyodide wheel
97+
run: make test-pyodide
98+
if: matrix.target == 'pyodide'
6999

70100
- name: Upload test results (Python)
71101
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
72102
with:
73-
name: test-results-${{ matrix.os }}
103+
name: test-results-${{ matrix.name }}
74104
path: junit.xml
75-
if: matrix.os == 'ubuntu-latest'
105+
if: matrix.name == 'ubuntu-latest'
76106

77107
- name: Publish test results
78108
uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
79109
with:
80110
files: '**/junit.xml'
81-
if: matrix.os == 'ubuntu-latest'
111+
if: matrix.name == 'ubuntu-latest'
82112

83113
- name: Upload coverage
84114
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
85115
with:
86116
token: ${{ secrets.CODECOV_TOKEN }}
117+
if: matrix.target == 'native'
87118

88119
- name: Install build dependencies
89120
run: pip install cibuildwheel
121+
if: matrix.target == 'native'
90122

91123
- name: Build distributions (Linux x86_64)
92124
run: |
@@ -98,7 +130,7 @@ jobs:
98130
CIBW_BUILD: "cp311-manylinux*"
99131
CIBW_ARCHS_LINUX: native
100132
CIBW_BUILD_VERBOSITY: 3
101-
if: matrix.os == 'ubuntu-latest'
133+
if: matrix.name == 'ubuntu-latest'
102134

103135
- name: Build distributions (Linux ARM64)
104136
run: |
@@ -109,7 +141,7 @@ jobs:
109141
CIBW_BUILD: "cp311-manylinux*"
110142
CIBW_ARCHS_LINUX: native
111143
CIBW_BUILD_VERBOSITY: 3
112-
if: matrix.os == 'ubuntu-24.04-arm'
144+
if: matrix.name == 'ubuntu-24.04-arm'
113145

114146
- name: Build distributions (macOS)
115147
run: |
@@ -118,30 +150,30 @@ jobs:
118150
env:
119151
CIBW_BUILD: "cp311-macos*"
120152
CIBW_BUILD_VERBOSITY: 3
121-
if: matrix.os == 'macos-latest'
153+
if: matrix.name == 'macos-latest'
122154

123155
- name: Build distributions (Windows)
124156
run: |
125157
if (Test-Path dist) { Remove-Item dist -Recurse -Force }
126158
make dist-py-wheel
127159
env:
128160
CIBW_BUILD: "cp311-win_amd64"
129-
if: matrix.os == 'windows-latest'
161+
if: matrix.name == 'windows-latest'
130162

131163
- name: Test wheel
132164
uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446
133165
with:
134166
module: python_template_cppjswasm
135-
if: runner.os == 'Linux'
167+
if: matrix.target == 'native' && runner.os == 'Linux'
136168

137169
- name: Test source distribution
138170
uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
139171
with:
140172
module: python_template_cppjswasm
141-
if: matrix.os == 'ubuntu-latest'
173+
if: matrix.name == 'ubuntu-latest'
142174

143175
- name: Upload distributions
144176
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
145177
with:
146-
name: dist-${{ matrix.os }}
147-
path: dist
178+
name: dist-${{ matrix.name }}
179+
path: ${{ matrix.dist_path }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ python_template_cppjswasm/labextension
143143
# Emscripten SDK (locally installed)
144144
emsdk
145145

146+
146147
# Mac
147148
.DS_Store
148149

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ coverage-cpp: ## run C++ tests and collect test coverage
138138

139139
.PHONY: test coverage tests
140140
test: test-py test-js test-cpp ## run all tests
141+
141142
coverage: coverage-py coverage-js coverage-cpp ## run all tests and collect test coverage
142143

143144
# alias

0 commit comments

Comments
 (0)