Skip to content
Closed
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
2 changes: 1 addition & 1 deletion .copier-answers.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier
_commit: da2acba
_commit: 225aba1
_src_path: https://github.com/python-project-templates/base.git
add_docs: true
add_extension: cpp
Expand Down
185 changes: 96 additions & 89 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,92 +42,99 @@ jobs:
primary: false

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/cpp/setup@51c484ef64088c62434226039d0e3359f5fc8df6

- uses: actions-ext/cpp/setup-vcpkg-cache@6ded4958b7e13d73428138a01d53c33cb941121d

- name: Install dependencies
run: make develop

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

- name: Checks
run: make checks
if: matrix.os == 'ubuntu-latest' && 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.os }}-${{ matrix.python.version }}
path: junit.xml
if: matrix.os == 'ubuntu-latest' && matrix.python.primary

- 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' && matrix.python.primary

- 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.python.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.python.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.python.cibuildwheel }}-win_amd64"
if: matrix.os == 'windows-latest'

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

- uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_cpp
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 C++
uses: actions-ext/cpp/setup@51c484ef64088c62434226039d0e3359f5fc8df6

- name: Setup vcpkg cache
uses: actions-ext/cpp/setup-vcpkg-cache@c2b1e90366b3a1c628a1df0748135f5e345ab26f

- name: Install dependencies
run: make develop

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

- name: Checks
run: make checks
if: matrix.os == 'ubuntu-latest' && 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.os }}-${{ matrix.python.version }}
path: junit.xml
if: matrix.os == 'ubuntu-latest' && matrix.python.primary

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

- 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.python.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.python.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.python.cibuildwheel }}-win_amd64"
if: matrix.os == 'windows-latest'

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

- name: Test source distribution
uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: python_template_cpp
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@378500315a83b5985e175139a55f1fa5ea6dde09
with:
token: ${{ secrets.WORKFLOW_TOKEN }}
78 changes: 41 additions & 37 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,44 @@ 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: |
uv pip install .[develop]
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: |
uv pip install .[develop]
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
Loading