YOUR BRIEF
What to work through
Work through gitHub Actions as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- A push, pull request, tag or schedule starts the workflows defined in YAML files in the repository
- Each run splits into jobs with dependencies; each job runs on a matching runner, hosted or the customer’s own
- Developers watch live logs, and download logs and artifacts after the run
- Retry, cancel and time out runs and jobs, and report status back to the commit or pull request
- Cache dependencies and build outputs between runs
BEFORE YOU START
Constraints to discuss
- Tens to hundreds of thousands of runs at once across many tenants
- Fair scheduling: one organization queuing 10,000 jobs does not starve one queuing 5
- Strong isolation: one workflow cannot read another tenant’s secrets or files
- A typical pull request reaches a deploy decision in tens of minutes
- A push event is never lost, and never starts the same run twice
Need a starting point?
Watch for these common gaps as you prepare:
- Running workflows inside the webhook handler, so a slow build blocks event intake
- One global first-in, first-out queue, so one big tenant starves everyone
- Keeping job state on the runner, so a lost machine loses the job
- Forgetting that a retried job runs again, deploy steps included
- Sending logs and artifacts through the scheduler or the database
- Shared runners that keep files or secrets between jobs
Why this question is in the collection
These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.
- OpenAI: Hello Interview’s OpenAI guide lists “Design Github Actions” third among its most commonly asked system design questions.
- OpenAI: PracHub lists an OpenAI technical screen for an internal CI/CD platform on a monorepo: about 20,000 jobs a day, centred on the job scheduler.
- Google: PracHub lists a Google onsite from September 2026: design a CI system that builds a change and runs about a million tests within ten minutes.