In general it looks like rolling our own self-hosted runner integration that launches an EC2 instance just-in-time with an ephemeral GHA runner should be fairly straightforward and would allow reducing our credit usage 3x at on-demand prices to 8x for spot prices.
The security should be basically the same: we would run on a fresh EC2 instance per-run, launched from latest Ubuntu (or w/e base) AMI. That instance wouldn't have any inbound ports open in its security group and would run with minimal credentials (maybe none, maybe just DataDog agent, TBD). The instance would get automatically killed after X hours of runtime.
| Build location |
Type |
Duration |
Price on-demand |
Price spot |
| CodeBuild |
dist-quick |
2h |
9.576 |
n/a |
| c8a.16x |
dist-quick |
1h |
3.4486 |
1.20 |
| CodeBuild |
dist |
3h |
14.364 |
n/a |
| c8a.16x |
dist |
1h 11m |
3.4486 |
1.20 |
(TODO: Need to double check that the dist build is really that fast. It seems a bit suspicious.)
In general it looks like rolling our own self-hosted runner integration that launches an EC2 instance just-in-time with an ephemeral GHA runner should be fairly straightforward and would allow reducing our credit usage 3x at on-demand prices to 8x for spot prices.
The security should be basically the same: we would run on a fresh EC2 instance per-run, launched from latest Ubuntu (or w/e base) AMI. That instance wouldn't have any inbound ports open in its security group and would run with minimal credentials (maybe none, maybe just DataDog agent, TBD). The instance would get automatically killed after X hours of runtime.
(TODO: Need to double check that the dist build is really that fast. It seems a bit suspicious.)