Download .github/workflows/node-addon-system.yml from SaylorTwift/deepseek-harness: direct link, hf CLI and curl.
- Browser
- Download file 5.21 kB
-
https://huggingface.co/SaylorTwift/deepseek-harness/resolve/main/.github/workflows/node-addon-system.yml
- Command line
-
hf download hf://SaylorTwift/deepseek-harness/.github/workflows/node-addon-system.yml
-
curl -L -o node-addon-system.yml https://huggingface.co/SaylorTwift/deepseek-harness/resolve/main/.github/workflows/node-addon-system.yml
5.21 kB
| # CI for the node-addon-system packages under native/system. A separate | |
| # workflow from ci.yml keeps the native OS/architecture matrix independent of | |
| # the harness Node matrix. Each platform job builds once and tests those bytes | |
| # under every supported Node release. Release assembly and publication use the | |
| # companion Node Addon System Release workflow. | |
| name: Node Addon System | |
| on: | |
| pull_request: | |
| paths: | |
| - '.github/workflows/node-addon-system.yml' | |
| - '.github/workflows/node-addon-system-release.yml' | |
| - 'native/system/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| push: | |
| branches: [master] | |
| paths: | |
| - '.github/workflows/node-addon-system.yml' | |
| - '.github/workflows/node-addon-system-release.yml' | |
| - 'native/system/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| # CI runs must never report to the production telemetry endpoint baked | |
| # into apps/cli/cordis.yml (AppCLIEntry disables the row when set). | |
| DSH_TELEMETRY_DISABLED: '1' | |
| defaults: | |
| run: | |
| working-directory: native/system | |
| jobs: | |
| matrix: | |
| name: Matrix | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| ci: ${{ steps.matrix.outputs.ci }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - id: matrix | |
| run: echo "ci=$(node ./scripts/github-matrix.mjs ci)" >> "$GITHUB_OUTPUT" | |
| native: | |
| name: ${{ matrix.platform }} | |
| needs: matrix | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{ fromJson(needs.matrix.outputs.ci) }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| package_json_file: package.json | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| cache-dependency-path: pnpm-lock.yaml | |
| - name: Install dependencies | |
| run: pnpm install --filter @deepseek-ai/node-addon-system-workspace... --frozen-lockfile | |
| - name: Install musl toolchain | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update -q | |
| sudo apt-get install -yq musl-tools | |
| - name: Build TypeScript | |
| run: pnpm build:ts | |
| - name: Typecheck | |
| run: pnpm typecheck | |
| - name: Build native binaries (this architecture is the builder of record) | |
| run: pnpm build:native | |
| - name: Entry tests (keyless) | |
| run: node ./test/entry.test.js | |
| # NALR_REQUIRE_LANDLOCK: a self-skip on the very platform that exists to | |
| # prove enforcement would be a false green, so an unenforcing kernel | |
| # fails the leg instead of skipping. | |
| - name: Launcher tests (real kernel enforcement) | |
| if: runner.os == 'Linux' | |
| run: node ./test/launcher.test.js | |
| env: | |
| NALR_REQUIRE_LANDLOCK: 1 | |
| - name: Pack rehearsal (pack → install → confine, this platform only) | |
| run: | | |
| node ./scripts/pack-release.mjs .release/npm --current-platform-only | |
| node ./scripts/verify-packed-install.mjs .release/npm --current-platform-only | |
| env: | |
| NALR_REQUIRE_LANDLOCK: ${{ runner.os == 'Linux' && '1' || '0' }} | |
| - name: Verify platform payload rules (Node 24) | |
| run: pnpm test:packaging | |
| - name: Flock behavior (Node 24, built addon) | |
| run: | | |
| pnpm build:test-oracle | |
| pnpm test:flock | |
| - name: Test the same musl addon on Node 24 without a compiler | |
| if: runner.os == 'Linux' | |
| run: >- | |
| docker run --rm -v "$PWD:$PWD" -w "$PWD" | |
| node:24-alpine | |
| node --test ./test/flock.test.js ./test/package-matrix.test.js | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: Test the same binaries on Node 20 | |
| run: node --test ./test/flock.test.js ./test/package-matrix.test.js | |
| - name: Test the same musl addon on Node 20 without a compiler | |
| if: runner.os == 'Linux' | |
| run: >- | |
| docker run --rm -v "$PWD:$PWD" -w "$PWD" | |
| node:20-alpine | |
| node --test ./test/flock.test.js ./test/package-matrix.test.js | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Test the same binaries on Node 22 | |
| run: node --test ./test/flock.test.js ./test/package-matrix.test.js | |
| - name: Test the same musl addon on Node 22 without a compiler | |
| if: runner.os == 'Linux' | |
| run: >- | |
| docker run --rm -v "$PWD:$PWD" -w "$PWD" | |
| node:22-alpine | |
| node --test ./test/flock.test.js ./test/package-matrix.test.js | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 26 | |
| - name: Test the same binaries on Node 26 | |
| run: node --test ./test/flock.test.js ./test/package-matrix.test.js | |
| - name: Test the same musl addon on Node 26 without a compiler | |
| if: runner.os == 'Linux' | |
| run: >- | |
| docker run --rm -v "$PWD:$PWD" -w "$PWD" | |
| node:26-alpine | |
| node --test ./test/flock.test.js ./test/package-matrix.test.js | |