# Jobs & Steps — CI/CD

Source: https://www.geekswithgeeks.com/en/cicd/cicd-gha-jobs-steps

> Jobs run in parallel by default; steps inside a job run in order.

## Jobs run in parallel

A workflow can define multiple **jobs** (e.g. `lint`, `test`, `build`). By default they all start at once on separate runners, unless you use `needs` to make one wait for another.

## Steps run in order

Within one job, **steps** run one after another on the same runner, sharing the same filesystem. If a step fails, the remaining steps in that job are skipped by default.

## Workers with checklists

Jobs are like separate workers who can each start their own task at the same time. Steps are the checklist each worker follows top to bottom — they can't skip ahead to item 3 before finishing item 2.
