Skip to content

test(quickstart): fail when the project cannot be removed without root - #289

Merged
Bccorb merged 1 commit into
mainfrom
test/quickstart-rm-assertion
Oct 20, 2026
Merged

Bccorb merged 1 commit into
mainfrom
test/quickstart-rm-assertion

Conversation

@Bccorb

@Bccorb Bccorb commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Follows #288.

On a Linux host the api dev container runs as root over the bind-mounted api/, so the Express starter's api/logs/app.log (and FastAPI's __pycache__) end up owned by root, and a user cannot rm -rf the project without sudo. #288 worked around that in its cleanup with an alpine container. This makes it a checked step instead: after the owner signs in, the run tears the stack down and removes the project as the runner user, and fails with the root-owned paths listed if that does not work. The fallback stays in cleanup only for runs that fail earlier.

The fix itself is in the templates: fells-code/seamless-templates#126. Because this script runs the CLI as published on npm, it fails until a CLI release pins a templates tag that includes it, so merge this after that pin bump. Its workflow runs on this PR because it touches the script, and that run is expected to fail at "Removing the project" until then.

Verification

scripts/quickstart-clean-run.sh run as a uid 1001 user in a Linux host (docker:29-dind):

  • seamless-cli@latest (0.24.0, templates v0.20.0): fails at "Removing the project" with api/logs/app.log: Permission denied, listing api/logs and api/logs/app.log.
  • seamless-cli@latest with SEAMLESS_TEMPLATES_DIR set to the templates fix branch: PASS, owner roles user,betaUser,admin:write.

npm test: 1408 passed, 4 skipped.

On a Linux host the dev containers run as root over bind mounts, so a file
they write into the project leaves it undeletable without sudo. Tear the stack
down and remove the project as part of the run, and list the root-owned paths
when that fails, rather than hiding them behind the cleanup fallback.
@Bccorb Bccorb added the v0.19 Targets the v0.19 release label Oct 20, 2026
@Bccorb
Bccorb merged commit 6966968 into main Oct 20, 2026
6 of 8 checks passed
@Bccorb
Bccorb deleted the test/quickstart-rm-assertion branch October 20, 2026 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v0.19 Targets the v0.19 release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant