docs(build): add canonical build instructions, pyproject.toml, and add more radio presets (#7222)

Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
Raphael Coeffic
2026-09-03 10:58:04 +10:00
committed by GitHub
co-authored by raphaelcoeffic Claude Opus 4.6 Peter Feerick
parent 1ca4e58274
commit a9f89323a9
15 changed files with 609 additions and 62 deletions
+8
View File
@@ -8,7 +8,11 @@ on:
- v*
paths:
- '.github/workflows/companion.yml'
- '.github/actions/python_dependencies/**'
- '.github/actions/wasi_sdk/**'
- '.github/actions/build_companion/**'
- 'companion/**'
- 'pyproject.toml'
- 'tools/build-companion.sh'
- 'tools/build-wasm-modules.sh'
- 'cmake/wasm/CMakeLists.txt'
@@ -16,7 +20,11 @@ on:
pull_request:
paths:
- '.github/workflows/companion.yml'
- '.github/actions/python_dependencies/**'
- '.github/actions/wasi_sdk/**'
- '.github/actions/build_companion/**'
- 'companion/**'
- 'pyproject.toml'
- 'tools/build-companion.sh'
- 'tools/build-wasm-modules.sh'
- 'cmake/wasm/CMakeLists.txt'
+5 -5
View File
@@ -7,7 +7,7 @@ on:
paths:
- 'docs/**'
- 'mkdocs.yml'
- 'docs-requirements.txt'
- 'pyproject.toml'
- '.github/workflows/docs.yml'
tags:
- 'v[0-9]+.[0-9]+.[0-9]+' # release tags only, not -rc
@@ -15,7 +15,7 @@ on:
paths:
- 'docs/**'
- 'mkdocs.yml'
- 'docs-requirements.txt'
- 'pyproject.toml'
- '.github/workflows/docs.yml'
workflow_dispatch:
@@ -41,15 +41,15 @@ jobs:
- name: Build docs (PR check)
if: github.event_name == 'pull_request'
run: uv run --with-requirements docs-requirements.txt mkdocs build --strict
run: uv run --extra docs -- mkdocs build --strict
- name: Deploy as latest (main branch)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: uv run --with-requirements docs-requirements.txt mike deploy --push --update-aliases latest
run: uv run --extra docs -- mike deploy --push --update-aliases latest
- name: Deploy release version
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
run: |
# Extract minor version from tag, e.g. v2.11.2 -> v2.11
VERSION=$(echo "${GITHUB_REF_NAME}" | sed 's/\.[0-9]*$//')
uv run --with-requirements docs-requirements.txt mike deploy --push --update-aliases "${VERSION}" stable
uv run --extra docs -- mike deploy --push --update-aliases "${VERSION}" stable
@@ -0,0 +1,39 @@
---
name: Validate CMakePresets.json
on:
push:
branches:
- 'main'
- '[0-9]+.[0-9]+'
paths:
- 'CMakePresets.json'
- '.prettierrc.json'
- '.github/workflows/validate_cmake_presets.yml'
pull_request:
branches:
- 'main'
- '[0-9]+.[0-9]+'
paths:
- 'CMakePresets.json'
- '.prettierrc.json'
- '.github/workflows/validate_cmake_presets.yml'
workflow_dispatch:
jobs:
validate:
name: Validate CMakePresets.json
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Install uv
uses: astral-sh/setup-uv@v10.0.1
- name: Validate against CMake's presets schema
run: |
cmake --version
CMAKE_PREFIX="$(dirname "$(dirname "$(command -v cmake)")")"
uvx check-jsonschema --schemafile "$CMAKE_PREFIX"/share/cmake-*/Help/manual/presets/schema.json CMakePresets.json
- name: Check formatting (prettier)
run: npx --yes prettier@3.9.6 --check CMakePresets.json
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
- name: Install Python dependencies
working-directory: .
run: uv venv && uv pip install -r requirements.txt
run: uv sync
- name: Check Python script syntax
run: uv run python3 -m py_compile *.py