Skip to content

Comments

Add E2E lifecycle test and CI workflow#43

Open
ret2libc wants to merge 4 commits intomainfrom
e2e-test
Open

Add E2E lifecycle test and CI workflow#43
ret2libc wants to merge 4 commits intomainfrom
e2e-test

Conversation

@ret2libc
Copy link
Collaborator

Summary

  • Add E2E lifecycle test (tests/e2e/test_lifecycle.sh) that exercises the full create → SSH → destroy workflow against a real DigitalOcean droplet
  • Add weekly GitHub Actions workflow (.github/workflows/e2e.yml) to run the E2E test on a schedule
  • Fix Jinja2 escaping of zsh PROMPT in the cloud-init template
  • Document E2E testing in CLAUDE.md, README.md, and add a make e2e target

Test plan

  • Run shellcheck tests/e2e/test_lifecycle.sh — passes with only informational notes
  • Run make helpe2e target appears in output
  • Run ./tests/e2e/test_lifecycle.sh locally with valid config — full lifecycle completes
  • Verify GitHub Actions workflow triggers on schedule and manual dispatch

🤖 Generated with Claude Code

ret2libc and others added 4 commits February 23, 2026 12:04
  Bash script that exercises the full droplet lifecycle: create (no
  Tailscale), verify SSH config, run commands over SSH, destroy, and
  verify cleanup. Designed for CI reuse with env-var overrides and
  trap-based cleanup on failure.

  Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  Runs the lifecycle test every Monday at 06:00 UTC (also manually
  triggerable via workflow_dispatch). Uses the smallest droplet size
  to minimize cost.

  Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The zsh PROMPT string contains `%` sequences that Jinja2 interprets
as template syntax. Wrap in {% raw %}...{% endraw %} to preserve
the literal prompt definition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add E2E test requirement to critical rules, document the test in both
CLAUDE.md and README.md development sections, and add a `make e2e`
target. Fix help grep pattern to include digits so `e2e` appears.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant