Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/brev-nightly-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@ jobs:
secrets:
BREV_API_KEY: ${{ secrets.BREV_API_KEY }}
BREV_ORG_ID: ${{ secrets.BREV_ORG_ID }}
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
6 changes: 3 additions & 3 deletions .github/workflows/e2e-branch-validation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ name: E2E / Branch Validation
# all — Runs credential-sanitization + telegram-injection (NOT full,
# which destroys the sandbox the security tests need).
#
# Required secrets: BREV_API_KEY + BREV_ORG_ID (or legacy BREV_API_TOKEN), NVIDIA_INFERENCE_API_KEY
# Required secrets: BREV_API_KEY + BREV_ORG_ID (or legacy BREV_API_TOKEN), NVIDIA_API_KEY
# Instance cost: Brev CPU credits (~$0.10/run for 4x16 instance)

on:
Expand Down Expand Up @@ -157,7 +157,7 @@ on:
required: false
BREV_ORG_ID:
required: false
NVIDIA_INFERENCE_API_KEY:
NVIDIA_API_KEY:
required: true

permissions:
Expand Down Expand Up @@ -253,7 +253,7 @@ jobs:
env:
NEMOCLAW_RUN_BRANCH_VALIDATION_E2E: "1"
BREV_API_TOKEN: ${{ inputs.brev_token || secrets.BREV_API_TOKEN }}
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
GITHUB_TOKEN: ${{ github.token }}
INSTANCE_NAME: ${{ env.BREV_E2E_INSTANCE_NAME }}
TEST_SUITE: ${{ inputs.test_suite }}
Expand Down
29 changes: 3 additions & 26 deletions .github/workflows/e2e-script.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ on:
type: string
default: ""
nvidia_api_key:
description: Pass the hosted inference source secret as the CI custom endpoint credential.
description: Pass the NVIDIA_API_KEY secret to the script.
required: false
type: boolean
default: false
Expand All @@ -78,7 +78,7 @@ on:
type: boolean
default: false
secrets:
NVIDIA_INFERENCE_API_KEY:
NVIDIA_API_KEY:
required: false
BRAVE_API_KEY:
required: false
Expand Down Expand Up @@ -212,29 +212,6 @@ jobs:
echo "::warning::Docker Hub login failed after 3 attempts; continuing with anonymous pulls."
fi

- name: Export hosted CI inference environment
if: ${{ inputs.nvidia_api_key }}
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
shell: bash
run: |
set -euo pipefail

if [ -z "${NVIDIA_INFERENCE_API_KEY:-}" ]; then
echo "::error::NVIDIA_INFERENCE_API_KEY secret is required for hosted CI inference; it is withheld for workflow_dispatch target_ref runs." >&2
exit 1
fi

{
printf 'NEMOCLAW_E2E_USE_HOSTED_INFERENCE=1\n'
printf 'NEMOCLAW_PROVIDER=custom\n'
printf 'NEMOCLAW_ENDPOINT_URL=https://inference-api.nvidia.com/v1\n'
printf 'NEMOCLAW_MODEL=nvidia/nvidia/nemotron-3-super-v3\n'
printf 'NEMOCLAW_COMPAT_MODEL=nvidia/nvidia/nemotron-3-super-v3\n'
printf 'NEMOCLAW_PREFERRED_API=openai-completions\n'
printf 'COMPATIBLE_API_KEY=%s\n' "${NVIDIA_INFERENCE_API_KEY}"
} >> "$GITHUB_ENV"

- name: Run E2E script
uses: ./workflow-actions/.github/actions/run-e2e-script
with:
Expand All @@ -248,7 +225,7 @@ jobs:
env:
BRAVE_API_KEY: ${{ inputs.brave_api_key && secrets.BRAVE_API_KEY || '' }}
GITHUB_TOKEN: ${{ inputs.github_token && github.token || '' }}
NVIDIA_INFERENCE_API_KEY: ${{ inputs.nvidia_api_key && secrets.NVIDIA_INFERENCE_API_KEY || '' }}
NVIDIA_API_KEY: ${{ inputs.nvidia_api_key && secrets.NVIDIA_API_KEY || '' }}
TELEGRAM_BOT_TOKEN_REAL: ${{ inputs.messaging_live_secrets && secrets.TELEGRAM_BOT_TOKEN_REAL || '' }}
TELEGRAM_CHAT_ID_E2E: ${{ inputs.messaging_live_secrets && secrets.TELEGRAM_CHAT_ID_E2E || '' }}
DISCORD_BOT_TOKEN_REAL: ${{ inputs.messaging_live_secrets && secrets.DISCORD_BOT_TOKEN_REAL || '' }}
Expand Down
52 changes: 23 additions & 29 deletions .github/workflows/e2e-vitest-scenarios.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ jobs:

- name: Run Vitest live E2E scenarios
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
SCENARIO_ID: ${{ matrix.id }}
run: |
set -euo pipefail
Expand Down Expand Up @@ -473,7 +473,7 @@ jobs:

- name: Run skill-agent live test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
export PATH="$HOME/.local/bin:$HOME/.npm-global/bin:$PATH"
Expand Down Expand Up @@ -811,7 +811,7 @@ jobs:

- name: Run issue #4434 TUI unreachable inference live test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
export PATH="$HOME/.local/bin:$HOME/.npm-global/bin:$PATH"
Expand Down Expand Up @@ -899,11 +899,11 @@ jobs:

- name: Run credential sanitization live test
# Migrated from test/e2e/test-credential-sanitization.sh. Preserves the
# same ubuntu-latest + Docker/OpenShell + NVIDIA_INFERENCE_API_KEY lane by running
# same ubuntu-latest + Docker/OpenShell + NVIDIA_API_KEY lane by running
# install.sh, onboarding a real sandbox, and probing sandbox state from
# Vitest while fixture redaction owns evidence logs.
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -982,17 +982,11 @@ jobs:

- name: Run credential migration live test
# Migrated from test/e2e/test-credential-migration.sh. This live test
# stages NVIDIA_INFERENCE_API_KEY through legacy credentials.json as the
# custom provider's COMPATIBLE_API_KEY. The hosted service behind this
# repo-scoped secret is inference-api.nvidia.com, not Build/NVIDIA
# Endpoints, so the test must exercise the compatible-provider route.
# needs NVIDIA_API_KEY only as the staged legacy credential value; it
# preserves the default NVIDIA provider/key migration path while
# pinning a lower-quota catalog model in the test fixture.
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NEMOCLAW_PROVIDER: custom
NEMOCLAW_ENDPOINT_URL: https://inference-api.nvidia.com/v1
NEMOCLAW_MODEL: nvidia/nvidia/nemotron-3-super-v3
NEMOCLAW_COMPAT_MODEL: nvidia/nvidia/nemotron-3-super-v3
NEMOCLAW_PREFERRED_API: openai-completions
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -1175,7 +1169,7 @@ jobs:

- name: Run Hermes live Vitest test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -1225,21 +1219,21 @@ jobs:
run: npm run build:cli

- name: Install OpenShell
# Runs without workflow tokens, Docker credentials, or NVIDIA_INFERENCE_API_KEY.
# Runs without workflow tokens, Docker credentials, or NVIDIA_API_KEY.
# scripts/install-openshell.sh pins the OpenShell version and verifies
# release SHA-256 checksums before installation.
env:
NEMOCLAW_NON_INTERACTIVE: "1"
run: |
set -euo pipefail
env -u DOCKER_CONFIG -u DOCKERHUB_USERNAME -u DOCKERHUB_TOKEN -u NVIDIA_INFERENCE_API_KEY -u GITHUB_TOKEN bash scripts/install-openshell.sh
env -u DOCKER_CONFIG -u DOCKERHUB_USERNAME -u DOCKERHUB_TOKEN -u NVIDIA_API_KEY -u GITHUB_TOKEN bash scripts/install-openshell.sh

- name: Run network-policy live test
# Migrated from test/e2e/test-network-policy.sh. Free-standing anchor
# for live network policy allow/deny probes; shell retirement remains
# deferred to #5098 Phase 11.
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -1391,7 +1385,7 @@ jobs:
# bash install.sh to preserve installer/onboard fidelity, then probes
# real shields/config behavior against the live sandbox.
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -1471,11 +1465,11 @@ jobs:
NEMOCLAW_NON_INTERACTIVE: "1"
run: |
set -euo pipefail
env -u DOCKER_CONFIG -u DOCKERHUB_USERNAME -u DOCKERHUB_TOKEN -u NVIDIA_INFERENCE_API_KEY -u GITHUB_TOKEN bash scripts/install-openshell.sh
env -u DOCKER_CONFIG -u DOCKERHUB_USERNAME -u DOCKERHUB_TOKEN -u NVIDIA_API_KEY -u GITHUB_TOKEN bash scripts/install-openshell.sh

- name: Run OpenClaw rebuild live test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
export PATH="$HOME/.local/bin:$HOME/.npm-global/bin:$PATH"
Expand Down Expand Up @@ -1566,11 +1560,11 @@ jobs:
NEMOCLAW_NON_INTERACTIVE: "1"
run: |
set -euo pipefail
env -u DOCKER_CONFIG -u DOCKERHUB_USERNAME -u DOCKERHUB_TOKEN -u NVIDIA_INFERENCE_API_KEY -u GITHUB_TOKEN bash scripts/install-openshell.sh
env -u DOCKER_CONFIG -u DOCKERHUB_USERNAME -u DOCKERHUB_TOKEN -u NVIDIA_API_KEY -u GITHUB_TOKEN bash scripts/install-openshell.sh

- name: Run sandbox rebuild live test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
export PATH="$HOME/.local/bin:$HOME/.npm-global/bin:$PATH"
Expand Down Expand Up @@ -2068,7 +2062,7 @@ jobs:

- name: Run launchable smoke live test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -2155,7 +2149,7 @@ jobs:
# sandbox inference.local completion boundaries without adding registry
# or migration-ledger wiring.
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -2245,7 +2239,7 @@ jobs:
# fidelity before exercising gateway restart, state survival, and live
# inference.local before and after restart.
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -2378,7 +2372,7 @@ jobs:

- name: Run OpenClaw TUI chat correlation live test
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
npx vitest run --project e2e-scenarios-live \
Expand Down Expand Up @@ -2453,7 +2447,7 @@ jobs:

- name: Run Vitest gateway-guard-recovery scenario
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
run: |
set -euo pipefail
# OpenShell installs to /usr/local/bin on GitHub-hosted runners
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
- name: Run macOS full E2E
if: steps.docker.outputs.docker_ok == 'true'
env:
NVIDIA_INFERENCE_API_KEY: ${{ secrets.NVIDIA_INFERENCE_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
GITHUB_TOKEN: ${{ github.token }}
NEMOCLAW_NON_INTERACTIVE: "1"
NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE: "1"
Expand Down
Loading
Loading