Skip to content

feat: add integration test suite for CLI lifecycle #246

@TimPietruskyRunPod

Description

@TimPietruskyRunPod

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 trap for cleanup to ensure resources are removed even if tests fail

Related PRs

Notes

  • Integration tests create real billable resources, so they should use CPU-only compute and minimal templates
  • The CI workflow should only trigger on main and PRs to main (no hardcoded feature branch names)
  • Consider using Go-based e2e tests (the project already has a go test -tags e2e convention) rather than shell scripts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions