Skip to content

fix(e2e): install workflow target ref in public onboard tests - #4214

Merged
ericksoa merged 2 commits into
mainfrom
fix/nightly-public-install-target-ref
May 26, 2026
Merged

ericksoa merged 2 commits into
mainfrom
fix/nightly-public-install-target-ref

Conversation

@ericksoa

@ericksoa ericksoa commented May 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • pass inputs.target_ref || github.sha through to the public installer path for cloud-onboard-e2e
  • pass the same ref through the TUI correlation wrapper, which reuses cloud onboard setup
  • add workflow validation so public-installer E2Es cannot silently check out a target ref but install main

Validation

  • npx vitest run test/validate-e2e-coverage.test.ts --reporter=verbose
  • bash -n test/e2e/test-cloud-onboard-e2e.sh test/e2e/test-openclaw-tui-chat-correlation.sh
  • git diff --check
  • npm run typecheck:cli

Summary by CodeRabbit

  • Tests

    • Added validation tests to ensure public installer refs are resolved consistently across E2E workflows.
    • Added helper utilities to inspect workflow steps and environment settings for test coverage.
  • Chores

    • Updated E2E workflow configuration to set and propagate a resolved public install reference used by tests and jobs.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 26, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 28a4ccb9-0641-4293-a8c8-07483558d3e3

📥 Commits

Reviewing files that changed from the base of the PR and between d1f02b8 and f008563.

📒 Files selected for processing (2)
  • .github/workflows/nightly-e2e.yaml
  • test/validate-e2e-coverage.test.ts

📝 Walkthrough

Walkthrough

This PR updates the nightly E2E workflow to use NEMOCLAW_PUBLIC_INSTALL_REF (set from the checked-out HEAD SHA via a resolver step) in two jobs, and adds tests and a script header note to validate and document this pattern.

Changes

E2E Public Installer Reference Updates

Layer / File(s) Summary
E2E workflow public installer configuration
.github/workflows/nightly-e2e.yaml
Added a “Resolve public install ref” step that outputs the checked-out HEAD SHA and wired NEMOCLAW_PUBLIC_INSTALL_REF to steps.public_install_ref.outputs.ref in cloud-onboard-e2e and openclaw-tui-chat-correlation-e2e.
E2E public installer ref validation test and docs
test/validate-e2e-coverage.test.ts, test/e2e/test-cloud-onboard-e2e.sh
Added helpers to locate job steps and extract step env/checkout refs and introduced a Vitest that enforces the presence and wiring of the public-install resolver and rejects remaining NEMOCLAW_INSTALL_REF pinned to ${{ github.ref_name }}; documented NEMOCLAW_PUBLIC_INSTALL_REF in the script header.

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • NVIDIA/NemoClaw#4119: Modifies the openclaw-tui-chat-correlation-e2e job in .github/workflows/nightly-e2e.yaml, related to the job this PR updates.

Suggested Labels

CI/CD, fix, E2E

Suggested Reviewers

  • cv

Poem

🐰 I nibbled at refs in the night,
Found HEAD and set it just right,
Tests hum softly, guards in place,
Public installs now trace their base. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.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 clearly describes the main change: updating E2E workflow to use the target ref for public install tests, which directly aligns with the core objective of passing the correct ref through to the public installer.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/nightly-public-install-target-ref

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


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

@github-actions

github-actions Bot commented May 26, 2026 •

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: None
Optional E2E: cloud-onboard-e2e, openclaw-tui-chat-correlation-e2e

Dispatch hint: cloud-onboard-e2e,openclaw-tui-chat-correlation-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No merge-blocking E2E is required because the PR only changes E2E workflow/test harness and validation tests, not product runtime code or user-facing assistant behavior. Optional E2Es can validate the modified CI paths.

Optional E2E

  • cloud-onboard-e2e (high): Directly exercises the changed cloud onboard public-installer workflow path and the updated NEMOCLAW_PUBLIC_INSTALL_REF handling.
  • openclaw-tui-chat-correlation-e2e (high): The workflow now also passes the resolved public install ref into this public-installer-backed real OpenClaw chat correlation flow; useful confidence if validating the CI workflow change end to end.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: nightly-e2e.yaml
  • jobs input: cloud-onboard-e2e,openclaw-tui-chat-correlation-e2e

@github-actions

github-actions Bot commented May 26, 2026 •

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. No scenario workflow, scenario metadata, scenario runtime, or validation-suite files changed.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@github-actions

github-actions Bot commented May 26, 2026 •

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 0 worth checking, 0 nice ideas
Since last review: 1 prior item resolved, 0 still apply, 0 new items found

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@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: 1

🤖 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/validate-e2e-coverage.test.ts`:
- Around line 148-179: The test currently validates NEMOCLAW_PUBLIC_INSTALL_REF
but doesn't assert the job's checkout ref; update the same loop in the "public
installer E2Es install the workflow target ref" test to locate the
actions/checkout step in each job (inspect jobs[jobName].steps and find a step
whose uses startsWith('actions/checkout')) and assert that that step has a
with.ref equal to "${{ inputs.target_ref || github.ref }}"; if missing or
different push an entry onto invalid (e.g., `${jobName}
checkout.ref=${String(checkoutStep?.with?.ref)}`) so the expect(...).toEqual([])
will fail. Use the existing publicInstallerJobs and getStepEnv pattern and
reference the jobs variable and getStepEnv/getStep lookup logic when making the
change.
🪄 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: d7a67d77-4e09-4f1a-8cde-8a7554834c58

📥 Commits

Reviewing files that changed from the base of the PR and between cb11ca8 and d1f02b8.

📒 Files selected for processing (3)
  • .github/workflows/nightly-e2e.yaml
  • test/e2e/test-cloud-onboard-e2e.sh
  • test/validate-e2e-coverage.test.ts

Comment thread test/validate-e2e-coverage.test.ts Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26432294170
Target ref: d1f02b8cf5d360948f55047d78b0af99514eade2
Workflow ref: main
Requested jobs: cloud-onboard-e2e,openclaw-tui-chat-correlation-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
cloud-onboard-e2e ✅ success
openclaw-tui-chat-correlation-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26432288111
Target ref: d1f02b8cf5d360948f55047d78b0af99514eade2
Workflow ref: fix/nightly-public-install-target-ref
Requested jobs: cloud-onboard-e2e,openclaw-tui-chat-correlation-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
cloud-onboard-e2e ✅ success
openclaw-tui-chat-correlation-e2e ✅ success

@ericksoa
ericksoa requested a review from cv May 26, 2026 04:39
@ericksoa
ericksoa merged commit 206737f into main May 26, 2026
28 checks passed
@wscurran wscurran added the bug-fix PR fixes a bug or regression label Jun 8, 2026
@cv
cv deleted the fix/nightly-public-install-target-ref branch June 28, 2026 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants