Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@
- [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

## DGX Station Hardware Validation
<!-- Required only when scripts/prepare-dgx-station-host.sh changes. Select exactly one outcome and link a comment on this PR. Leave both unchecked and links blank when the file is unchanged. -->
<!-- Hardware comment format: STATION_HARDWARE_EVIDENCE followed by result=PASS, tested_commit=<40-character SHA>, prepare_script_sha256=<SHA-256>, and profile=<Station profile>, each on its own line. -->
<!-- Deferral comment format: STATION_HARDWARE_DEFERRAL followed by prepare_script_sha256=<SHA-256>, reason=<reason>, remaining_risk=<risk>, and follow_up=https://github.com/NVIDIA/NemoClaw/issues/NNNN, each on its own line. The comment author must have maintain or admin permission. -->
- [ ] Real DGX Station validation passed
- [ ] Maintainer-approved deferral recorded
Evidence comment:
Deferral comment:

## Verification
<!-- Check each applicable item only when supported by the requested evidence. Run targeted tests once per relevant change set and rerun after later edits or hook autofixes that can affect the tested behavior. Do not rerun hook-covered checks. -->
- [ ] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub
Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/station-hardware-evidence.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name: CI / Station Hardware Evidence

# This policy runs from the trusted base revision. It reads PR metadata and
# linked GitHub comments, but never checks out or executes PR-controlled code.
on:
pull_request_target:
types: [opened, edited, synchronize, reopened, ready_for_review]

permissions: {}

concurrency:
group: station-hardware-evidence-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
station-hardware-evidence:
name: Station / Hardware Evidence
if: ${{ github.repository == 'NVIDIA/NemoClaw' }}
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
issues: read
pull-requests: read
steps:
- name: Check out trusted gate
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ github.workflow_sha }}
persist-credentials: false

- name: Set up Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.0.0
with:
node-version: "22"

- name: Validate Station evidence contract
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: node --experimental-strip-types tools/station-hardware-evidence/gate.mts
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,5 +266,6 @@ Follow `.agents/skills/_shared/pr-follow-up.md`: after opening or pushing to a P
- Run targeted tests once per relevant change set, rerunning after later behavior-affecting edits or hook autofixes, and run `npm run docs` for doc changes
- Count successful normal hooks as verification; if hooks were skipped or unavailable, refresh `origin/main` and use `npm run check:diff`
- Follow PR template (`.github/PULL_REQUEST_TEMPLATE.md`)
- PRs that change `scripts/prepare-dgx-station-host.sh` must provide real DGX Station evidence whose script SHA-256 matches the current PR head, or link a deferral comment from a collaborator with `maintain` or `admin` permission. A deferral accepts merge risk but is not Station qualification; it must state the reason and remaining risk and link an open follow-up issue.
- No secrets, API keys, or credentials committed
- Limit open PRs to fewer than 10
10 changes: 10 additions & 0 deletions ci/source-shape-test-budget.json
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,16 @@
"test": "prepares the Starter Prompt in every docs build entry point (#5048)",
"category": "compatibility"
},
{
"file": "test/station-hardware-evidence-gate.test.ts",
"test": "exposes the same contract to contributor and reviewer agents (#7191)",
"category": "compatibility"
},
{
"file": "test/station-hardware-evidence-gate.test.ts",
"test": "runs from a trusted pull_request_target revision with read-only permissions (#7191)",
"category": "security"
},
{
"file": "test/validate-blueprint.test.ts",
"test": "pins the sandbox image by digest instead of a mutable tag (#1438)",
Expand Down
Loading
Loading