Comparison of GitHub Actions with competitors
Deep dive into workflow syntax, triggers, and job configuration
Explore matrices, reusable workflows, and composite actions
•Runner Types and Execution Environments
•Persisting Build Outputs with Artifacts
•Controlling GitHub Permissions
•Authenticating to Third-Party Systems
•Matrix Strategies, Conditionals, and Concurrency Controls
Discover and integrate community actions from the GitHub Marketplace
Build custom JavaScript and Docker actions from scratch
•JavaScript and TypeScript Actions
Optimize logs, secrets, environments, and permissions for teams
•Developer Experience (Actions)
Harden workflows with security, reliability, and cost-saving techniques
•Maintainable Workflow Patterns
Apply course concepts by automating a real-world deployment pipeline
The capstone project for the course uses all of the topics covered throughout the course to build out a DevOps automation system based on GitHub Actions.
Repository: https://github.com/sidpalas/capstone (this is also a submodule of the course repo)
The project is a minimal three-tier web application that consists of:
services/react/client-react
)services/node/api-node
)services/go/api-golang
)services/python/load-generator-python
)services/other/migrator
)All services use the shared Task command runner and Devbox for reproducible local environments.
Each service exposes a consistent interface, task install
, task run
, and task test
, so our workflows can invoke the
same commands regardless of language. The monorepo also includes Kubernetes manifests under deploy/
so we can exercise
a GitOps deployment flow.
To explore the system locally:
devbox shell
) to gain the correct toolchains.services/other/migrator
with task run-postgres
, then apply migrations via task postgres-init
.task install && task run
in their respective directories) and confirm the request counter
increments.We will implement 6 workflows covering testing, building, deploying and more.