|
18 | 18 | # credential-migration-e2e Validates legacy ~/.nemoclaw/credentials.json migration to the |
19 | 19 | # OpenShell gateway, secure zero-fill on unlink, allowlist filter |
20 | 20 | # on non-credential env keys, and symlink-safe deletion. |
| 21 | +# launchable-smoke-e2e Community install path (brev-launchable-ci-cpu.sh) on ubuntu-latest. |
21 | 22 | # gpu-e2e Local Ollama inference on an NVKS ephemeral GPU runner. |
22 | 23 | # gpu-double-onboard-e2e Ollama proxy token consistency after re-onboard (#2553). |
23 | 24 | # notify-on-failure Auto-creates a GitHub issue when any E2E job fails. |
|
53 | 54 | upgrade-stale-sandbox-e2e, rebuild-hermes-e2e, double-onboard-e2e, |
54 | 55 | onboard-repair-e2e, onboard-resume-e2e, runtime-overrides-e2e, |
55 | 56 | credential-sanitization-e2e, telegram-injection-e2e, |
56 | | - overlayfs-autofix-e2e, gpu-e2e, gpu-double-onboard-e2e |
| 57 | + overlayfs-autofix-e2e, launchable-smoke-e2e, gpu-e2e, gpu-double-onboard-e2e |
57 | 58 | required: false |
58 | 59 | type: string |
59 | 60 | default: "" |
@@ -1278,6 +1279,59 @@ jobs: |
1278 | 1279 | /tmp/nemoclaw-e2e-onboard-negative.log |
1279 | 1280 | if-no-files-found: ignore |
1280 | 1281 |
|
| 1282 | + # ── Launchable Install-Flow Smoke Test ───────────────────────── |
| 1283 | + # Validates the community install path (brev-launchable-ci-cpu.sh) end-to-end. |
| 1284 | + # The launchable script has ZERO Brev dependencies — it's a generic Ubuntu |
| 1285 | + # bootstrap script that runs on ubuntu-latest. Catches regressions like the |
| 1286 | + # Apr 20-25 Brev outage (#2472, #2482) and container reachability fallback (#2425). |
| 1287 | + # See: issue #2599 |
| 1288 | + launchable-smoke-e2e: |
| 1289 | + if: >- |
| 1290 | + github.repository == 'NVIDIA/NemoClaw' && |
| 1291 | + (github.event_name != 'workflow_dispatch' || |
| 1292 | + inputs.jobs == '' || |
| 1293 | + contains(format(',{0},', inputs.jobs), ',launchable-smoke-e2e,')) |
| 1294 | + runs-on: ubuntu-latest |
| 1295 | + timeout-minutes: 30 |
| 1296 | + steps: |
| 1297 | + - name: Checkout |
| 1298 | + uses: actions/checkout@v6 |
| 1299 | + |
| 1300 | + - name: Run launchable install-flow smoke test |
| 1301 | + env: |
| 1302 | + NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }} |
| 1303 | + NEMOCLAW_NON_INTERACTIVE: "1" |
| 1304 | + NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE: "1" |
| 1305 | + NEMOCLAW_SANDBOX_NAME: "e2e-launchable" |
| 1306 | + NEMOCLAW_RECREATE_SANDBOX: "1" |
| 1307 | + SKIP_DOCKER_PULL: "1" |
| 1308 | + GITHUB_TOKEN: ${{ github.token }} |
| 1309 | + run: bash test/e2e/test-launchable-smoke.sh |
| 1310 | + |
| 1311 | + - name: Upload install log on failure |
| 1312 | + if: failure() |
| 1313 | + uses: actions/upload-artifact@v4 |
| 1314 | + with: |
| 1315 | + name: launchable-smoke-install-log |
| 1316 | + path: /tmp/nemoclaw-launchable-install.log |
| 1317 | + if-no-files-found: ignore |
| 1318 | + |
| 1319 | + - name: Upload onboard log on failure |
| 1320 | + if: failure() |
| 1321 | + uses: actions/upload-artifact@v4 |
| 1322 | + with: |
| 1323 | + name: launchable-smoke-onboard-log |
| 1324 | + path: /tmp/nemoclaw-launchable-onboard.log |
| 1325 | + if-no-files-found: ignore |
| 1326 | + |
| 1327 | + - name: Upload test log on failure |
| 1328 | + if: failure() |
| 1329 | + uses: actions/upload-artifact@v4 |
| 1330 | + with: |
| 1331 | + name: launchable-smoke-test-log |
| 1332 | + path: /tmp/nemoclaw-launchable-test.log |
| 1333 | + if-no-files-found: ignore |
| 1334 | + |
1281 | 1335 | # ── GPU E2E (Ollama local inference) ────────────────────────── |
1282 | 1336 | # Runs on an NVKS ephemeral GPU runner (RTX Pro 6000, 36 GB VRAM). |
1283 | 1337 | # Each job gets a fresh VM — no state leakage between runs. |
@@ -1423,6 +1477,7 @@ jobs: |
1423 | 1477 | credential-sanitization-e2e, |
1424 | 1478 | telegram-injection-e2e, |
1425 | 1479 | overlayfs-autofix-e2e, |
| 1480 | + launchable-smoke-e2e, |
1426 | 1481 | gpu-e2e, |
1427 | 1482 | gpu-double-onboard-e2e, |
1428 | 1483 | ] |
|
0 commit comments