PIGS-696: Add references to AI policies and data handling #227
Workflow file for this run
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: 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 |