Design a scalable CI/CD workflow execution service similar to GitHub Actions. The system must accept workflow YAML files that define a directed acyclic graph (DAG) of jobs, each job containing a sequence of steps (shell commands or reusable actions). Workflows are triggered by events such as code push, pull-request creation, or scheduled cron expressions. The service must schedule jobs across a pool of runners (cloud-hosted ephemeral VMs and self-hosted on-prem agents), respect job dependencies, support matrix builds that run the same job with different language/runtime versions, cache dependencies (npm, Docker layers) between runs, and pass build artifacts between jobs. The design should handle 100k concurrent workflows, 1M queued jobs, and autoscale runner pools in under 30s while keeping p99 job start latency below 10s. Provide APIs for customers to register workflows, query run status, stream real-time logs, and download artifacts. Ensure idempotent retries, step-level timeouts, and secure secrets injection.