runs-on line, so a quick lint job can use a small, cheap computer while a browser test job gets more memory.
Pick a size by CPU and memory
Find the row with the vCPU and RAM your job needs, then put its label inruns-on. See Sizes and prices for disk and per-minute rates.
Memory is the standard 2 vCPU, 8 GB computer, the same CPU and RAM as GitHub’s
ubuntu-latest in a private repository.
The $5 trial covers Micro only. Larger sizes need eligible workspace credit; otherwise the Celesto runner setup check reports a credit problem and the job stays queued. See Troubleshooting if that happens.
Run a job on an 8 GB computer
This workflow runs your Node.js tests on Memory, with 2 vCPU and 8 GB RAM. Save it as.github/workflows/tests.yml in a repository you connected during the CI quickstart:
.github/workflows/tests.yml
2 for the vCPUs and a MemTotal of about 8 GB, shown in kilobytes. You can remove that step once you’ve confirmed the size.
For a Python project, keep the same runs-on line and replace the Node.js steps with your Python setup and test commands.
Use different sizes in one workflow
Setruns-on separately on each job. This workflow runs unit tests on Memory and browser end-to-end tests on Large, with 4 vCPU and 16 GB RAM:
.github/workflows/ci.yml
Match your current runner
When you move a workflow, start with a Celesto size that has the same vCPU and RAM as your current runner. Your jobs then get the same CPU and memory, so a failure or slowdown points to a real difference rather than a smaller machine.
For example, a Blacksmith workflow with a regular test job and a browser end-to-end job changes only its
runs-on lines:
Choose a smaller size
After a job passes on the matching size, you can try a smaller one to lower its cost. Many lint and unit-test jobs fit Micro or Standard; builds and browser tests usually need more memory.1
Record a baseline
Run the job on the matching size three times. Note its duration and whether it passed.
2
Try one size down
Change the label to the next smaller size in the size table and run the job three more times.
3
Compare the results
Keep the smaller size if every run passes and the cost per job is lower. Celesto charges per minute, so a smaller runner that runs much longer can cost more per job.
- A step ends with exit code
137. The system stopped the process, usually because the job ran out of memory. - Test workers crash, or browser tests time out or fail intermittently.
- The job takes much longer than on the matching size.
