Skip to content

PIGS-696: Add references to AI policies and data handling #227

PIGS-696: Add references to AI policies and data handling

PIGS-696: Add references to AI policies and data handling #227

Workflow file for this run

name: CI -- Test & Check
on:
pull_request:
concurrency:
# For pull_request events only, cancel previous runs for the same pull request
group: build-${{ github.event_name }}-${{ github.event_name == 'pull_request' && github.event.number || github.job_id }}
cancel-in-progress: true
jobs:
node-check:
runs-on: [self-hosted, linux, x64, nitrosys]
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.head_ref }}
- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "22"
cache: "npm"
cache-dependency-path: node-version/package-lock.json
- name: Install dependencies
run: npm ci
working-directory: node-version
- name: Audit dependencies
run: npm audit --audit-level=moderate
working-directory: node-version
- name: Check formatting
run: task check-format
working-directory: node-version
- name: Check linting
run: task check-lint
working-directory: node-version
- name: Check types
run: task check-types
working-directory: node-version
- name: Run tests
run: task test
working-directory: node-version
# Verifies that all dependencies have compatible wheels for macOS and Windows.
# Runs on Linux using `uv pip compile --python-platform` for cross-platform resolution,
# so no macOS/Windows runners are needed. Will fail if any dependency (e.g. uvloop)
# does not publish wheels for the target platform.
cross-platform-install:
name: Verify dependencies resolve for ${{ matrix.platform }}
runs-on: [self-hosted, linux, x64, nitrosys]
strategy:
matrix:
platform: [windows, macos]
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.head_ref }}
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14"
- name: Verify dependencies resolve for ${{ matrix.platform }}
run: uv pip compile pyproject.toml --python-platform ${{ matrix.platform }} --python-version 3.14
shell: bash
result:
name: Result
if: ${{ always() }}
runs-on: [self-hosted, linux, x64]
needs: [node-check, cross-platform-install]
steps:
- name: Check results
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped')
run: exit 1