-
Notifications
You must be signed in to change notification settings - Fork 56
Open
Description
Summary
runpodctl currently lacks integration tests that exercise the full CLI lifecycle. An integration test suite would help catch regressions and validate end-to-end behavior.
Desired behavior
- A test suite that covers the full lifecycle of key resources:
- Pods: create → list → get → update → stop → start → delete
- Serverless: create → list → get → update → delete
- File transfer: send/receive via croc
- A GitHub Actions workflow that runs the suite with gated API key access
- Tests should gracefully handle missing API keys (e.g. on external fork PRs)
- Resource cleanup must be scoped — only clean up resources created by the test run (e.g. using a name prefix like
ci-test-), never delete all account resources - Template IDs and other config should be parameterized (env vars), not hardcoded
- Use
trapfor cleanup to ensure resources are removed even if tests fail
Related PRs
- feat: portable, root-free installer refactor (dependency-free) #240 and feat: unified integration matrix with gated CI signaling #241 proposed this feature but need rework — see comments on those PRs for details
Notes
- Integration tests create real billable resources, so they should use CPU-only compute and minimal templates
- The CI workflow should only trigger on
mainand PRs tomain(no hardcoded feature branch names) - Consider using Go-based e2e tests (the project already has a
go test -tags e2econvention) rather than shell scripts
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels