-
Notifications
You must be signed in to change notification settings - Fork 2.8k
feat(ci): add non-root sandbox smoke test as PR gate #2571
Copy link
Copy link
Open
Labels
04-25-regressionIssues raised from the Apr 25 weekend regression analysisIssues raised from the Apr 25 weekend regression analysisarea: ciCI workflows, checks, release automation, or GitHub ActionsCI workflows, checks, release automation, or GitHub Actionsarea: e2eEnd-to-end tests, nightly failures, or validation infrastructureEnd-to-end tests, nightly failures, or validation infrastructure
Metadata
Metadata
Assignees
Labels
04-25-regressionIssues raised from the Apr 25 weekend regression analysisIssues raised from the Apr 25 weekend regression analysisarea: ciCI workflows, checks, release automation, or GitHub ActionsCI workflows, checks, release automation, or GitHub Actionsarea: e2eEnd-to-end tests, nightly failures, or validation infrastructureEnd-to-end tests, nightly failures, or validation infrastructure
Type
Fields
Give feedbackNo fields configured for issues without a type.
Problem
All PR-level and nightly E2E sandboxes run with full root privileges. The Brev Launchable and DGX Spark environments run with
no-new-privileges/ Landlock restrictions active during entrypoint execution. Bug 1 of the weekend regression (#2472) — a 5-day outage where the gateway never started on non-root sandboxes — was invisible to every CI gate.Proposal
Add a lightweight
non-root-sandbox-smokejob topr-self-hosted.yamlthat:build-sandbox-images)--security-opt no-new-privileges(replicates Brev Launchable constraints)/health(HTTP 200 or 401) within 60 secondsopenclaw tuican start without "Missing gateway auth token"This does NOT need live inference or an API key — it only validates that the entrypoint completes and the gateway binds its port under restricted execution. Estimated runtime: ~2 minutes on top of the existing image build.
What This Would Have Caught
install_configure_guardwrites to.bashrc/.profilecrash under Landlock +set -e→ gateway never starts → HTTP probe fails immediatelyopenclaw.json→openclaw tuifails with "Missing gateway auth token" (affects root and non-root)Implementation
Add to
pr-self-hosted.yamlafterbuild-sandbox-images:The test script starts the container with
--security-opt no-new-privileges, polls/health, and verifiesopenclaw tui --helpsucceeds.Context