Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .copier-answers.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Changes here will be overwritten by Copier
_commit: c2ea129
_commit: b2cdb6d
_src_path: https://github.com/python-project-templates/base.git
add_docs: true
add_extension: cppjswasm
add_vcpkg: false
add_wiki: true
email: 3105306+timkpaine@users.noreply.github.com
github: python-project-templates
Expand Down
194 changes: 101 additions & 93 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,96 +35,104 @@ jobs:
node-version: [22.x]

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
version: ${{ matrix.python-version }}

- uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f
with:
version: ${{ matrix.node-version }}

- uses: actions-ext/cpp/setup@51c484ef64088c62434226039d0e3359f5fc8df6

- uses: mymindstorm/setup-emsdk@4528d102f7230f0e7b276855c01ea1159be0e984 # v16

- name: Install dependencies
run: make develop

- name: Lint
run: make lint
if: matrix.os == 'ubuntu-latest'

- name: Checks
run: make checks
if: matrix.os == 'ubuntu-latest'

- name: Test
run: make coverage

- name: Upload test results (Python)
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}
path: junit.xml
if: matrix.os == 'ubuntu-latest'

- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
with:
files: '**/junit.xml'
if: matrix.os == 'ubuntu-latest'

- name: Upload coverage
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}

- name: Install build dependencies
run: pip install cibuildwheel

- name: Make dist (Linux)
run: |
rm -rf dist
make dist-py-sdist
make dist-py-wheel
make dist-check
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-manylinux*"
CIBW_BUILD_VERBOSITY: 3
if: matrix.os == 'ubuntu-latest'

- name: Make dist (Macos)
run: |
rm -rf dist
make dist-py-wheel
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-macos*"
CIBW_BUILD_VERBOSITY: 3
if: matrix.os == 'macos-latest'

- name: Make dist (Windows)
run: |
if (Test-Path dist) { Remove-Item dist -Recurse -Force }
make dist-py-wheel
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-win_amd64"
if: matrix.os == 'windows-latest'

- uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_cppjswasm
if: matrix.os == 'ubuntu-latest'

- uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_cppjswasm
if: matrix.os == 'ubuntu-latest'

- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dist-${{matrix.os}}-${{matrix.python-version}}
path: dist
- 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-version }}

- name: Setup Node.js
uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f
with:
version: ${{ matrix.node-version }}

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

- name: Setup Emscripten
uses: mymindstorm/setup-emsdk@4528d102f7230f0e7b276855c01ea1159be0e984 # v16

- name: Install dependencies
run: make develop

- name: Lint
run: make lint
if: matrix.os == 'ubuntu-latest'

- name: Checks
run: make checks
if: matrix.os == 'ubuntu-latest'

- name: Test
run: make coverage

- name: Upload test results (Python)
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}
path: junit.xml
if: matrix.os == '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'

- name: Upload coverage
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}

- name: Install build dependencies
run: pip install cibuildwheel

- name: Build distributions (Linux)
run: |
rm -rf dist
make dist-py-sdist
make dist-py-wheel
make dist-check
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-manylinux*"
CIBW_BUILD_VERBOSITY: 3
if: matrix.os == 'ubuntu-latest'

- name: Build distributions (macOS)
run: |
rm -rf dist
make dist-py-wheel
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-macos*"
CIBW_BUILD_VERBOSITY: 3
if: matrix.os == 'macos-latest'

- name: Build distributions (Windows)
run: |
if (Test-Path dist) { Remove-Item dist -Recurse -Force }
make dist-py-wheel
env:
CIBW_BUILD: "${{ matrix.cibuildwheel }}-win_amd64"
if: matrix.os == 'windows-latest'

- name: Test wheel
uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_cppjswasm
if: matrix.os == 'ubuntu-latest'

- name: Test source distribution
uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_cppjswasm
if: matrix.os == 'ubuntu-latest'

- name: Upload distributions
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dist-${{matrix.os}}-${{matrix.python-version}}
path: dist
7 changes: 4 additions & 3 deletions .github/workflows/copier.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions-ext/copier-update@378500315a83b5985e175139a55f1fa5ea6dde09
with:
token: ${{ secrets.WORKFLOW_TOKEN }}
- name: Update from Copier
uses: actions-ext/copier/update@2061209faa6b75ffd4fcecc0b0983772767997f4
with:
token: ${{ secrets.WORKFLOW_TOKEN }}
80 changes: 42 additions & 38 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,41 +16,45 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446

- name: Download dist from build
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
pattern: dist-ubuntu-latest-3.11
merge-multiple: true
path: dist
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
if: github.event_name == 'workflow_run'

- name: Install from wheel
run: |
uv pip install dist/*.whl
uv pip install dist/*.whl --target . --no-deps
uv pip install yardang
if: github.event_name == 'workflow_run'

- name: Install from source (manual trigger)
run: |
make develop
uv pip install .
uv pip install yardang
if: github.event_name == 'workflow_dispatch'

- run: yardang build

- uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/html
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Setup Python
uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446

- name: Download distributions
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
pattern: dist-ubuntu-latest-3.11
merge-multiple: true
path: dist
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
if: github.event_name == 'workflow_run'

- name: Install from wheel
run: |
uv pip install dist/*.whl
uv pip install dist/*.whl --target . --no-deps
uv pip install yardang
if: github.event_name == 'workflow_run'

- name: Install from source (manual trigger)
run: |
make develop
uv pip install .
uv pip install yardang
if: github.event_name == 'workflow_dispatch'

- name: Build documentation
run: yardang build

- name: Publish documentation
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/html
18 changes: 11 additions & 7 deletions .github/workflows/wiki.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,15 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- run: cp README.md docs/wiki/Home.md
- uses: Andrew-Chen-Wang/github-wiki-action@1bbb4280446f9630e8e21a18012cbacf3b0f992e # v5.0.6
with:
path: docs/wiki
- name: Prepare wiki
run: cp README.md docs/wiki/Home.md

- name: Publish wiki
uses: Andrew-Chen-Wang/github-wiki-action@1bbb4280446f9630e8e21a18012cbacf3b0f992e # v5.0.6
with:
path: docs/wiki
8 changes: 4 additions & 4 deletions js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@
},
"dependencies": {},
"devDependencies": {
"@playwright/test": "^1.61.1",
"@playwright/test": "^1.62.0",
"cpy": "^13.2.2",
"esbuild": "^0.28.1",
"lightningcss": "^1.29.3",
"lightningcss": "^1.33.0",
"http-server": "^14.1.1",
"nodemon": "^3.1.10",
"npm-run-all": "^4.1.5",
"prettier": "^3.8.4",
"typescript": "^6.0.3"
"prettier": "^3.9.6",
"typescript": "^7.0.2"
}
}
Loading
Loading