Skip to content

test(e2e): migrate test-spark-install.sh to vitest - #5608

Merged
jyaunches merged 10 commits into
mainfrom
e2e-migrate-test-spark-install
Jun 23, 2026
Merged

jyaunches merged 10 commits into
mainfrom
e2e-migrate-test-spark-install

Conversation

@jyaunches

@jyaunches jyaunches commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Migrate test/e2e/test-spark-install.sh with the simplest equivalent live Vitest coverage.

Related Issues

Refs #5098

Assertion parity

ID Legacy assertion/check Replacement Vitest assertion Boundary preserved Status
A1 Repo root resolves to /workspace or script-relative checkout with install.sh; otherwise exits 1 test/e2e-scenario/live/spark-install.test.ts asserts REPO_ROOT/install.sh exists and runs from that root Real repository checkout + installer file covered
A2 Host must be Linux Test gates on process.platform === "linux"; workflow job runs on ubuntu-latest Real host platform covered
A3 docker info must exit 0 host.command("docker", ["info"]) and expect(exitCode).toBe(0) Real Docker daemon covered
A4 NEMOCLAW_NON_INTERACTIVE=1 is required Test/workflow set and assert NEMOCLAW_NON_INTERACTIVE=1; installer command prefixes it Real env + shell command covered
A5 NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1 is required Test/workflow set and assert NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1; installer command prefixes it Real env + shell command covered
A6 Generic installer flow without Spark-specific setup Local path runs bash install.sh --non-interactive and asserts the command does not include setup-spark Real installer path covered
A7 Optional NEMOCLAW_E2E_PUBLIC_INSTALL=1 uses curl -fsSL $NEMOCLAW_INSTALL_SCRIPT_URL \| ... bash buildInstallerInvocation() selects/asserts the curl-pipe command and URL/default when that env is set Real curl-pipe command when selected covered
A8 Install exits 0; failures include last 80 log lines expect(install.exitCode).toBe(0) with exitDetail(..., installLog) tailing the log Real bash process, log file, exit status covered
A9 After .bashrc/nvm.sh/~/.local/bin refresh, command -v nemoclaw succeeds sourceInstalledPathProbe() runs same refresh and asserts exit 0/stdout contains nemoclaw Real shell profile/PATH behavior covered
A10 After same refresh, command -v openshell succeeds Same probe asserts exit 0/stdout contains openshell Real installed OpenShell on PATH covered
A11 nemoclaw --help exits 0 Same probe runs nemoclaw --help >/dev/null and asserts exit 0 Real installed CLI invocation covered
A12 Summary/log path are emitted Fixture writes scenario.json, installer.json, shell artifacts, and workflow uploads e2e-artifacts/vitest/spark-install/ Deterministic Vitest artifacts stronger

All legacy assertions are covered or intentionally stronger in Vitest. No row is missing, partial, or candidate only.

Contract mapping

  • Legacy assertion family: Spark-class Linux host can use the standard NemoClaw installer with no Spark-specific setup.
    • Replacement: test/e2e-scenario/live/spark-install.test.ts covers A1-A12.
    • Boundary preserved: real Linux host, Docker daemon, bash install.sh --non-interactive, optional curl -fsSL ... | bash, install log file, profile/PATH refresh, real nemoclaw and openshell commands.

Simplicity check

  • Test shape: simple live Vitest test.
  • Original runner/lane: unwired/manual legacy script; documented prereq is Linux + Docker (DGX Spark or similar).
  • Replacement runner: e2e-vitest-scenarios.yaml job spark-install-vitest on ubuntu-latest with Docker.
  • New shared helpers: none; one-off helpers are local to the test.
  • New framework/registry/ledger: none
  • Workflow changes: add selective free-standing Vitest job; legacy shell deletion/workflow retirement deferred to Epic: Migrate legacy bash E2E into the Vitest E2E system #5098 Phase 11.
  • Selective dispatch: gh workflow run e2e-vitest-scenarios.yaml --repo NVIDIA/NemoClaw --ref e2e-migrate-test-spark-install -f jobs=spark-install-vitest -f pr_number=<PR>

Pre-push parity gate

  • Legacy script: test/e2e/test-spark-install.sh
  • Assertion rows inventoried: 12
  • Covered/stronger rows: 12
  • Missing/partial/candidate-only rows: 0
  • Direct reference only rows: 0
  • Runner/resource boundary matched: yes — Linux + Docker manual legacy contract mapped to ubuntu-latest + Docker selective Vitest job

Advisor follow-up

  • PRA-3/PRA-T1: installer stdout/stderr now stay in host.command redaction and retained install.log is written through writeRedactedInstallLog; helper test proves sentinel API key redaction in both retained log and failure detail.
  • PRA-4/PRA-8/PRA-T2/PRA-T3: public curl-pipe mode now only accepts https://www.nvidia.com/nemoclaw.sh and enables set -euo pipefail.
  • PRA-5/PRA-T4: sandbox name is validated and must use the e2e-spark-install- test-owned prefix before cleanup/install.
  • PRA-6/PRA-T6/PRA-T7: test now asserts the actual required non-interactive env values without defaults.
  • PRA-9: reused shouldRunInstallerIntegration() and removed unused import.

Verification

  • NEMOCLAW_RUN_E2E_SCENARIOS=1 npx vitest run --project e2e-scenarios-live test/e2e-scenario/live/spark-install.test.ts --reporter=default (skips on local macOS)
  • npx tsx -e "import { validateE2eVitestScenariosWorkflowBoundary } from './tools/e2e-scenarios/workflow-boundary.mts'; const errors = validateE2eVitestScenariosWorkflowBoundary(); console.log(errors.join('\\n')); process.exit(errors.length ? 1 : 0);"
  • npx vitest run --project e2e-vitest-support test/e2e-scenario/support-tests/e2e-scenarios-workflow.test.ts --reporter=default
  • npx vitest run --project e2e-vitest-support test/e2e-scenario/support-tests/spark-install-helpers.test.ts --reporter=default
  • npm run build:cli
  • git diff --check
  • npx prek run --all-files --stage pre-push --skip tsc-plugin --skip tsc-js --skip tsc-cli --skip version-tag-sync --skip test-cli --skip test-plugin --skip source-shape-test-budget --skip test-file-size-budget --skip test-skills-yaml
  • PR: test(e2e): migrate test-spark-install.sh to vitest #5608
  • Same-runner selective run: https://github.com/NVIDIA/NemoClaw/actions/runs/27986019551 (queued, validates hardening commit fad3eaf32)
  • Previous same-runner selective run: https://github.com/NVIDIA/NemoClaw/actions/runs/27983972303 (success, spark-install-vitest passed on ubuntu-latest + Docker)

Summary by CodeRabbit

Release Notes

  • Tests

    • Added a new live end-to-end Spark installer scenario that validates installer preconditions, runs the install in a sandboxed flow, and verifies post-install CLI availability.
    • Introduced helper utilities and tests to ensure safe installer invocation, strict environment/URL rules, and redacted logging for sensitive output.
  • CI/CD Updates

    • Expanded the end-to-end workflow to run the new live Spark installer scenario and publish its Vitest artifacts.
    • Updated pull request reporting so the scenario’s results are included in the PR summary.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

A new spark-install-vitest GitHub Actions job is added to the e2e-vitest-scenarios workflow, dispatching conditionally on spark-install-vitest/spark-install selectors and uploading test artifacts. A corresponding Vitest test file (spark-install.test.ts) replaces the shell-based Spark installer scenario with typed helpers for installer invocation, environment assembly, PATH probing, pre-install cleanup, and log capture, integrated with hosted inference credential redaction.

Changes

Spark Install Vitest E2E

Layer / File(s) Summary
Installer invocation and validation helpers
test/e2e-scenario/live/spark-install-helpers.ts
Defines InstallerInvocation contract for local/public modes, validates sandbox name prefix ownership, enforces non-interactive and third-party-acceptance environment variables, allowlists public installer HTTPS URLs (rejecting non-HTTP, credentialed, private-IP, and off-allowlist domains), and provides redaction-aware log writing, tailing, and exit-detail composition.
Test setup, fixtures, and local helpers
test/e2e-scenario/live/spark-install.test.ts
Establishes Linux-only test gating with conditional skipping, derives sandbox naming, implements shellQuote for safe argument escaping and env() to compose installer environment from base probes and required flags, implements sourceInstalledPathProbe() to validate nemoclaw/openshell availability via sourced bashrc/NVM and extended PATH, and implements bestEffortCleanup() to guard and ignore failures during pre-install resource destruction.
Main liveTest scenario execution
test/e2e-scenario/live/spark-install.test.ts
Validates Linux runtime and Docker availability, loads NVIDIA_API_KEY for redaction, performs best-effort pre-install cleanup, computes and validates installer invocation (local bash install.sh --non-interactive or public curl-pipe with required flags), executes the installer remotely with exit code assertion, writes and redacts the install log, and probes installed nemoclaw/openshell after profile refresh and PATH extension.
Installer helper validation suite
test/e2e-scenario/support-tests/spark-install-helpers.test.ts
Validates secret redaction in logs and exit details, enforces HTTPS-only public URL allowlisting (rejecting non-HTTP, credentialed, private/loopback IPs, off-allowlist hosts, and query/fragment parameters), verifies local-mode selections and script assertions, confirms public-mode curl pipeline structure with pipefail and non-interactive injection, validates sandbox name ownership for cleanup safety, and requires both NEMOCLAW_NON_INTERACTIVE and NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE.
Workflow job and report-to-pr wiring
.github/workflows/e2e-vitest-scenarios.yaml
Adds spark-install-vitest as a free-standing job with conditional dispatch selector, sets Spark-specific environment (cloud provider, sandbox name), runs spark-install.test.ts via e2e-scenarios-live, uploads e2e-artifacts/vitest/spark-install/ artifacts, and extends report-to-pr.needs to include the new job's result in PR comment aggregation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

  • NVIDIA/NemoClaw#5243: Introduces the inputs.jobs/inputs.scenarios selector dispatch logic in the e2e-vitest-scenarios workflow that this PR relies on to gate the spark-install-vitest job.
  • NVIDIA/NemoClaw#5362: Follows the same workflow extension pattern, adding a new free-standing Vitest job and wiring it into report-to-pr.needs for result aggregation.
  • NVIDIA/NemoClaw#5593: Extends the report-to-pr job's comment and result-reporting logic for selectively dispatched Vitest jobs, directly integrating with this PR's new spark-install-vitest job.

Suggested labels

area: e2e, chore

Suggested reviewers

  • cv

Poem

🐇 A spark is installed, no shell scripts in sight,
The Vitest now governs each nemoclaw byte,
With curl-bash or local, the probe checks the PATH,
And cleanup runs first to avoid any wrath—
Each artifact uploaded, the PR comment glows,
Hop hop, little installer, off to CI it goes! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly describes the main change: migrating a legacy shell script test to Vitest, which is the core objective of all the changeset modifications.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch e2e-migrate-test-spark-install

Comment @coderabbitai help to get the list of available commands.

@github-code-quality

github-code-quality Bot commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in the e2e-migrate-test-spa... branch is 96%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main e2e-migrate-test-spa... b45ede0 +/-
nemoclaw/src/se...cret-scanner.ts — 100% —
nemoclaw/src/commands/slash.ts — 100% —
nemoclaw/src/li...bprocess-env.ts — 100% —
nemoclaw/src/bl...eprint/state.ts — 98% —
nemoclaw/src/onboard/config.ts — 98% —
nemoclaw/src/bl...int/snapshot.ts — 97% —
nemoclaw/src/bl...print/runner.ts — 95% —
nemoclaw/src/co...ration-state.ts — 94% —
nemoclaw/src/bl...ate-networks.ts — 94% —
nemoclaw/src/index.ts — 94% —

TypeScript / code-coverage/cli

The overall coverage in the e2e-migrate-test-spa... branch is 46%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main e2e-migrate-test-spa... b45ede0 +/-
src/lib/state/o...oard-session.ts — 91% —
src/lib/inference/local.ts — 76% —
src/lib/sandbox/config.ts — 72% —
src/lib/actions...dbox/rebuild.ts — 67% —
src/lib/onboard/preflight.ts — 64% —
src/lib/actions...licy-channel.ts — 56% —
src/lib/state/sandbox.ts — 55% —
src/lib/onboard...er-gpu-patch.ts — 50% —
src/lib/policy/index.ts — 49% —
src/lib/onboard.ts — 18% —

Updated June 22, 2026 23:00 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ❌ Some jobs failed

Run: 27982893726
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ❌ failure

Failed jobs: spark-install-vitest. Check run artifacts for logs.

@github-actions

github-actions Bot commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: spark-install-vitest
Optional E2E: cloud-onboard-vitest

Dispatch hint: spark-install-vitest

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • spark-install-vitest (medium): Required because this PR introduces and wires a live installer E2E job. Running it validates the new workflow selector, non-interactive installer path, Docker prerequisite gate, NVIDIA_API_KEY secret usage, install-log retention/redaction, and post-install nemoclaw/openshell availability.

Optional E2E

  • cloud-onboard-vitest (medium): Optional adjacent confidence check because the new Spark install scenario uses cloud provider settings and verifies installed CLI usability, but the PR does not change cloud onboarding runtime code.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: .github/workflows/e2e-vitest-scenarios.yaml
  • jobs input: spark-install-vitest

@github-actions

github-actions Bot commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Recommendation

Required Vitest E2E scenarios: spark-install-vitest
Optional Vitest E2E scenarios: None

Dispatch required Vitest E2E scenarios:

  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=spark-install-vitest

Workflow run

Full Vitest E2E advisor summary

Vitest E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required Vitest E2E scenarios

  • spark-install-vitest: Focused free-standing Vitest job wired for changed live test test/e2e-scenario/live/spark-install.test.ts.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=spark-install-vitest

Optional Vitest E2E scenarios

  • None.

Relevant changed files

  • .github/workflows/e2e-vitest-scenarios.yaml
  • test/e2e-scenario/live/spark-install-helpers.ts
  • test/e2e-scenario/live/spark-install.test.ts
  • test/e2e-scenario/support-tests/spark-install-helpers.test.ts
  • test/e2e-scenario/support-tests/spark-install-workflow-boundary.test.ts
  • tools/e2e-scenarios/workflow-boundary.mts

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ❌ Some jobs failed

Run: 27983056821
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ❌ failure

Failed jobs: spark-install-vitest. Check run artifacts for logs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/e2e-scenario/live/spark-install.test.ts`:
- Around line 157-158: The expect statements on lines 157 and 158 use the
nullish coalescing operator `?? "1"` which provides a default value when the
environment variables are undefined, causing the test to pass even when the
required environment variables are not actually set. Remove the `?? "1"` default
from both the `process.env.NEMOCLAW_NON_INTERACTIVE` and
`process.env.NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE` assertions so that the test
directly validates these required environment variables are explicitly present
and set to "1" rather than defaulting them, thus properly enforcing the
required-env contract.
- Around line 52-67: The buildInstallerInvocation function contains conditional
branches (checking process.env.NEMOCLAW_E2E_PUBLIC_INSTALL and similar
environment variable conditions at the other mentioned locations) that violate
the test-conditionals growth guardrail. Refactor this function to use a
branch-free style by extracting the conditional logic outside the function or
using configuration injection to determine which installer invocation to build,
rather than using if/else statements within the test setup code. This applies to
all three locations mentioned in the guardrail violation (the
buildInstallerInvocation function and the other conditional blocks at lines 139
and 176).
- Around line 167-197: The install command fails because the parent directory of
installLog (which may be a path like .../logs/install.log) does not exist before
the bash command attempts to write to it. Create the parent directory of
installLog before calling host.command with the installer script to ensure the
directory path exists when the output is redirected. Use Node's file system
utilities to extract the directory path from installLog and create it with the
recursive option enabled.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b3d52df6-d570-4dd5-afe6-76ac5d11026f

📥 Commits

Reviewing files that changed from the base of the PR and between b241036 and 337dd69.

📒 Files selected for processing (2)
  • .github/workflows/e2e-vitest-scenarios.yaml
  • test/e2e-scenario/live/spark-install.test.ts

Comment thread test/e2e-scenario/live/spark-install.test.ts Outdated
Comment thread test/e2e-scenario/live/spark-install.test.ts Outdated
Comment thread test/e2e-scenario/live/spark-install.test.ts
Comment thread test/e2e-scenario/live/spark-install.test.ts Fixed
@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ❌ Some jobs failed

Run: 27983149394
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ❌ failure

Failed jobs: spark-install-vitest. Check run artifacts for logs.

Comment thread test/e2e-scenario/live/spark-install.test.ts Fixed
@github-actions

github-actions Bot commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings

Merge posture: No blocking advisor findings
Primary next action: Add or justify PRA-T1 and any related test follow-ups.
Open items: 0 required · 0 warnings · 0 suggestions · 3 test follow-ups
Since last review: 2 prior items resolved · 3 still apply · 0 new items found

Action checklist

  • PRA-T1 Add or justify test follow-up: Runtime validation
  • PRA-T2 Add or justify test follow-up: Runtime validation
  • PRA-T3 Add or justify test follow-up: Acceptance clause
Test follow-ups to resolve or justify

If these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.

  • PRA-T1 Runtime validation — Maintain or identify live runtime validation for `test/e2e-scenario/live/spark-install.test.ts` covering Linux, Docker prerequisite checks, installer execution, retained redacted install log, PATH refresh, `command -v nemoclaw`, `command -v openshell`, and `nemoclaw --help`.. The changed behavior crosses a real installer, Docker daemon, host shell profile/PATH refresh, OpenShell/NemoClaw sandbox lifecycle, secret-bearing workflow step, and workflow-boundary validator. The PR includes the right live Vitest scenario plus focused support tests; runtime evidence should be maintained or identified when reviewing this infrastructure migration.
  • PRA-T2 Runtime validation — If Epic: Migrate legacy bash E2E into the Vitest E2E system #5098 issue body or comments are available outside this deterministic context, map each literal issue clause/comment to the Spark install Vitest test or add missing behavior-specific coverage.. The changed behavior crosses a real installer, Docker daemon, host shell profile/PATH refresh, OpenShell/NemoClaw sandbox lifecycle, secret-bearing workflow step, and workflow-boundary validator. The PR includes the right live Vitest scenario plus focused support tests; runtime evidence should be maintained or identified when reviewing this infrastructure migration.
  • PRA-T3 Acceptance clause — Linked issue clauses/comments for `Refs Epic: Migrate legacy bash E2E into the Vitest E2E system #5098` — add test evidence or identify existing coverage. The deterministic validation context reported `linkedIssues: []`, so no linked issue body or comments were available to extract literally. PR-provided related-issue text is untrusted evidence and was not used as an acceptance source.

Workflow run details

This is an automated, non-binding review; it still expects maintainers and agents to respond to each required or warning item. Treat suggestions as current-PR improvements when they touch changed code; defer only with maintainer rationale or a linked follow-up. A human maintainer must make the final merge decision.

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27983458976
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27983972303
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27986019551
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27986651890
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27988254354
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27988660786
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Results — ✅ All requested jobs passed

Run: 27989632569
Workflow ref: e2e-migrate-test-spark-install
Requested scenarios: (default — all supported)
Requested jobs: spark-install-vitest
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
spark-install-vitest ✅ success

@jyaunches
jyaunches merged commit aec3500 into main Jun 23, 2026
115 of 117 checks passed
@jyaunches
jyaunches deleted the e2e-migrate-test-spark-install branch June 23, 2026 01:27
@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance labels Aug 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants