Commit Graph
1 Commits
Author SHA1 Message Date
rock 8c609a575c test: K8s Job-based integration testing with migrations
CI / CI (pull_request) Successful in 12m1s
Add proper integration test infrastructure:

migrations/run_migrations.sh:
  - Database migration runner (used by K8s Job)
  - Applies all SQL migrations in order
  - Waits for DB to be ready
  - Verifies schema creation
  - Reports success/failure

k8s/test/integration-test-job.yaml:
  - Kubernetes Job manifest for E2E testing
  - Two-stage execution:
    1. migrate: Apply database migrations
    2. test: Run integration test against new pod
  - Uses new image SHA from CI build
  - Proper secret management for DB credentials
  - Cleanup after 1 hour (ttlSecondsAfterFinished)
  - Resource limits and liveness probes

.gitea/workflows/integration-test.yaml:
  - CI workflow that runs after image build
  - Validates image exists in registry
  - Deploys Job with correct image SHA
  - Waits for job completion (10 min timeout)
  - Collects pod logs on failure
  - Automatic cleanup

Usage:
  - Automatic: Runs after each CI build on main
  - Manual: Trigger with specific image SHA via workflow_dispatch
  - Tests: Ingest pipeline + entity persistence + query

Requires:
  - KUBECONFIG_B64 secret (base64-encoded kubeconfig)
  - DB credentials (via memory-db-app secret in cluster)
  - Image already pushed to registry
2026-09-14 22:36:58 +09:00