Control how jobs relate: ordering with needs, conditions with if, fan-out with matrix, passing values with outputs, plus services, timeouts and environments.
One job definition, many parallel variants. Each combination is a separate job.
Real databases for integration tests, reachable on localhost.