# tinqs/ci — Status ## Done - [x] Composite actions: checkout, setup-go, setup-node, setup-aws - [x] Lambda dispatcher with Spot instance routing - [x] Ephemeral runners (one job, self-terminate) - [x] Git auth for private repos (url.insteadOf) - [x] Local action cache (pre-clone to bare repo, instant resolution) - [x] DynamoDB run tracking + cleanup cron - [x] Runner image Dockerfiles: base, go, node, docker, deploy, godot - [x] Zombie runner incident resolved (25 May 2026) ## Next | Priority | Task | Impact | |----------|------|--------| | P1 | Pre-warm Go module + build cache in AMI | -30s build time | | P1 | Automate AMI build (Packer or script) | Repeatable, no manual SSH | | P2 | Internal DNS for git clones | Faster than public HTTPS | | P2 | CloudWatch agent on runner AMI | Persistent logs after instance death | | P3 | `tinqs/ci/deploy-ecs` action | ECS update-service wrapper | | P3 | `tinqs/ci/deploy-s3` action | S3 sync + CloudFront invalidation | | P3 | `tinqs/ci/notify` action | Post build status to Lobster GChat | ## Deleted (stale) - `tinqs-ci-exec` Lambda — never successfully ran a build, removed 26 May - `/ecs/tinqs-runner` CloudWatch log group — from Fargate era, removed 26 May - Fargate runner service — scaled to 0, cluster still exists for tinqs-git ECS