Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Bump typedoc from 0.28.14 to 0.28.15 #66

Bump typedoc from 0.28.14 to 0.28.15

Bump typedoc from 0.28.14 to 0.28.15 #66

Workflow file for this run

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