Bump typedoc from 0.28.14 to 0.28.15 #66
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test, Build & Deploy Documentation | |
| on: | |
| push: | |
| branches: [ "main", "dev" ] | |
| pull_request: | |
| branches: [ "main", "dev" ] | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| # Test Node.js SDK on Linux | |
| test-nodejs-linux: | |
| name: Test Node.js SDK on Linux (Node ${{ matrix.node-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: ['20.3.0', '20.x', '24.x'] # Test minimum (N-API v9), LTS 20, and current LTS 24 | |
| fail-fast: false # Continue testing other versions if one fails | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Setup Docker Compose | |
| uses: docker/[email protected] | |
| - name: Run Node.js tests with Node ${{ matrix.node-version }} | |
| run: docker compose run --rm test-js | |
| # Test Node.js SDK on macOS (darwin-arm64) | |
| test-nodejs-macos: | |
| name: Test Node.js SDK on macOS (Node 24.x) | |
| runs-on: macos-latest # macOS 14+ provides Apple Silicon runners | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js 24.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24.x' | |
| - name: Install Task | |
| run: brew install go-task | |
| - name: Setup project | |
| run: task setup | |
| - name: Build Node.js addon | |
| run: task build:js | |
| - name: Run Node.js tests | |
| run: task test:js | |
| # Test Python SDK on Linux | |
| test-python-linux: | |
| name: Test Python SDK on Linux (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.10', '3.11', '3.12', '3.13'] | |
| fail-fast: false # Continue testing other versions if one fails | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Setup Node.js (for Task setup) | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24.x' | |
| - name: Install Task | |
| run: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin && echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential | |
| - name: Install Python build dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pytest python-dotenv pybind11 scikit-build-core | |
| - name: Setup SDK | |
| run: task setup | |
| - name: Build Python module | |
| run: task build:py | |
| - name: Run Python tests | |
| run: pytest tests/test_rtms.py -v | |
| # Test Python SDK on macOS (darwin-arm64) | |
| test-python-macos: | |
| name: Test Python SDK on macOS (Python ${{ matrix.python-version }}) | |
| runs-on: macos-latest # macOS 14+ provides Apple Silicon runners | |
| strategy: | |
| matrix: | |
| python-version: ['3.10', '3.13'] # Test minimum and latest | |
| fail-fast: false | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install system dependencies | |
| run: | | |
| brew install cmake go-task | |
| - name: Setup Node.js (for Task setup) | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24.x' | |
| - name: Install Python build dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pytest python-dotenv pybind11 scikit-build-core | |
| - name: Setup project | |
| run: task setup | |
| - name: Build Python module | |
| run: task build:py | |
| - name: Run Python tests | |
| run: pytest tests/test_rtms.py -v | |
| # Test application build and generate documentation | |
| test-and-build-docs: | |
| name: Test Application & Build Documentation | |
| runs-on: ubuntu-latest | |
| needs: [test-nodejs-linux, test-nodejs-macos, test-python-linux, test-python-macos] | |
| # Only run on main/master branches and if tests pass | |
| if: success() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Docker Compose | |
| uses: docker/[email protected] | |
| - name: Generate all documentation via Docker | |
| run: docker compose run --rm docs | |
| - name: Upload documentation artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: documentation-site | |
| path: ./docs | |
| retention-days: 30 | |
| # Deploy documentation site to GitHub Pages | |
| deploy-documentation: | |
| name: Deploy Documentation Site | |
| runs-on: ubuntu-latest | |
| needs: [test-and-build-docs] | |
| # Only deploy from main/master branch | |
| if: success() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Download documentation site artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: documentation-site | |
| path: ./docs | |
| - name: Setup GitHub Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload site to GitHub Pages | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: './docs' | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |