Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
13 changes: 6 additions & 7 deletions .agents/skills/nemoclaw-maintainer-e2e/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Choose exactly one mode:
- every default-selected free-standing workflow E2E except `Exact staging Brev Launchable`;
- every shared credential-free test; and
- these controller-selected registry targets: `ubuntu-policy-custom-missing-presets-negative`, `ubuntu-repo-cloud-langchain-deepagents-code`, `ubuntu-repo-cloud-openclaw`, and `ubuntu-repo-docker-post-reboot-recovery`.
The run skips `jetson-nvmap-gpu` unless its Colossus dispatch flag is `true`.
The run skips `jetson-nvmap-gpu` unless `allow_jetson_dispatch` is `true`.
It skips `llama-cpp-dgx-spark-plan` and `llama-cpp-dgx-spark-qualification` unless their runner-queue flag is `true`.
- For protected managed-image runtime qualification, set `E2E_JOBS=managed-image-protected-runtime`. The exact candidate must contain `ci/protected-managed-image-multiarch-activation-v1.json` and `ci/protected-managed-image-runtime-activation-v1.json`.

Expand Down Expand Up @@ -243,12 +243,11 @@ repository `maintain` or `admin` permission before the Launchable path's source
checkout. That role check is the authorization.
A user permitted to dispatch this workflow may set `allow_jetson_dispatch=true`
to add `jetson-nvmap-gpu` to an empty-selector manual run or enable its explicit
selection. Set it only after every deployment check in
[Jetson Dispatch Through Colossus](../../../test/e2e/docs/jetson-colossus-dispatch.md)
passes.
The Jetson lifecycle removes and verifies only its fixed job-owned cleanup
allowlist. Do not treat `cleanup: "succeeded"` as evidence that every possible
candidate host change was reversed.
selection. Set it only after the operator-owned service is available and
compatible with HTTP contract
version `1.0.0`, and `JETSON_DISPATCH_URL` contains its verified HTTPS origin.
See [Jetson Dispatch Controller](../../../test/e2e/docs/jetson-dispatch.md).
Require the uploaded Jetson receipt to report `cleanup: "succeeded"`.
A permitted dispatcher may set `allow_dgx_spark_runner_queue=true` to add
`llama-cpp-dgx-spark-plan` and `llama-cpp-dgx-spark-qualification` to an
empty-selector manual run or enable explicit qualification selection. Set it
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ on:
- internal-nvidia
- public-nvidia
allow_jetson_dispatch:
description: "Set true for jetson-nvmap-gpu only after the Colossus dispatcher, Cloudflare Tunnel, cleanup helper, and JETSON_DISPATCH_URL repository variable have passed the deployment checks in test/e2e/docs/jetson-colossus-dispatch.md."
description: "Set true for jetson-nvmap-gpu only after the operator-owned dispatch backend is available and JETSON_DISPATCH_URL contains its verified HTTPS origin. Refer to test/e2e/docs/jetson-dispatch.md."
required: false
default: false
type: boolean
Expand Down Expand Up @@ -4924,7 +4924,7 @@ jobs:
needs: generate-matrix
if: ${{ inputs.allow_jetson_dispatch && github.repository == 'NVIDIA/NemoClaw' && github.ref == 'refs/heads/main' && github.event_name == 'workflow_dispatch' && (inputs.checkout_repository == '' || inputs.checkout_repository == github.repository) && ((inputs.jobs == '' && inputs.targets == '') || contains(format(',{0},', inputs.jobs), ',jetson-nvmap-gpu,') || contains(format(',{0},', inputs.targets), ',jetson-nvmap-gpu,')) }}
concurrency:
group: jetson-nvmap-gpu-colossus
group: jetson-nvmap-gpu-dispatch
queue: max
cancel-in-progress: false
runs-on: ubuntu-latest
Expand All @@ -4945,7 +4945,7 @@ jobs:
with:
node-version: 22

- name: Dispatch exact commit to Jetson through Colossus
- name: Dispatch exact commit to Jetson through operator backend
env:
E2E_ARTIFACT_DIR: ${{ runner.temp }}/e2e-artifacts/live/jetson-nvmap-gpu
JETSON_DISPATCH_CANDIDATE_SHA: ${{ inputs.checkout_sha || github.sha }}
Expand Down
13 changes: 6 additions & 7 deletions test/e2e/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -456,12 +456,11 @@ runs remain queued instead of replacing one another.

The Jetson nvmap and DGX Spark llama.cpp jobs remain excluded from ordinary and
full runs unless their independent opt-in flags are `true`.
Set `allow_jetson_dispatch=true` to select `jetson-nvmap-gpu` only after every
deployment check in
[Jetson Dispatch Through Colossus](docs/jetson-colossus-dispatch.md) passes.
The Colossus lifecycle removes and verifies only the fixed job-owned cleanup
allowlist. Its cleanup evidence does not attest that every possible candidate
host change was reversed.
Set `allow_jetson_dispatch=true` to select `jetson-nvmap-gpu` after the
operator-owned dispatch service is available at the repository variable
`JETSON_DISPATCH_URL`. Refer to the
[Jetson dispatch controller](docs/jetson-dispatch.md) for the trusted workflow,
HTTP contract, and evidence boundary that NemoClaw owns.
Set `allow_dgx_spark_runner_queue=true` to select both
`llama-cpp-dgx-spark-plan` and `llama-cpp-dgx-spark-qualification`.
GitHub can pause the qualification job for the
Expand Down Expand Up @@ -798,7 +797,7 @@ For a PR revision run, a repository maintainer or administrator leaves `jobs` an
- every shared credential-free test; and
- these controller-selected registry targets: `ubuntu-policy-custom-missing-presets-negative`, `ubuntu-repo-cloud-langchain-deepagents-code`, `ubuntu-repo-cloud-openclaw`, and `ubuntu-repo-docker-post-reboot-recovery`.

The run skips `jetson-nvmap-gpu` unless its Colossus dispatch flag is `true`.
The run skips `jetson-nvmap-gpu` unless `allow_jetson_dispatch` is `true`.
It skips `llama-cpp-dgx-spark-plan` and `llama-cpp-dgx-spark-qualification`
unless their runner-queue flag is `true`.
The trusted workflow definition remains on `main` and binds the candidate head to the current PR base SHA.
Expand Down
8 changes: 4 additions & 4 deletions test/e2e/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -314,10 +314,10 @@ test/e2e/
`jobs` value is `managed-image-protected-runtime`; `targets` must remain empty.
Refer to [NemoClaw E2E CI](../README.md).

- [Jetson Dispatch Through Colossus](jetson-colossus-dispatch.md) defines how
maintainers deploy and verify the temporary authenticated controller,
dispatcher, SSH, bounded cleanup, and stale-lock recovery path for
`jetson-nvmap-gpu`.
- [Jetson dispatch controller](jetson-dispatch.md) defines the NemoClaw-owned
HTTP contract, trusted GitHub controller, repository configuration, and
evidence for `jetson-nvmap-gpu`. The service behind that contract is
operator-owned infrastructure.

- `.github/workflows/e2e.yaml` runs selected or all supported
live E2E targets and uploads an explicit artifact allowlist with
Expand Down
Loading
Loading