Going from complete setups down to the atomic level of a GitHub Actions workflow consists of 3 parts
This is a complete setup. Think of it like an entire program that has many modules inside it doing various things.
Example: a complete CI process. It will spin up some environments, do some linting, run some tests, and do other various checks.
These are individual chunks of tasks within a workflow. Think of them like functions that do one thing.
If there are multiple jobs in a workflow, they will run in parallel, but you can organize them so jobs are dependent on another job.
Example: a single portion of the CI, let's say just running the unit tests
This is the core of a job. this can be thought of as individual lines inside a function.
Example: individual items in the process of running unit tests like running