GitHub Actions study plan
GitHub Actions · Give each week a clear focus.
8 weeks · About 6 hours per week
Workflow creation & Intermediate-level GitHub Actions practice for DevOps engineers, software developers, and IT professionals
Map the workflow file anatomy by writing a YAML file that uses top-level keys name, on, permissions, env, jobs, and concurrency, and explaining in comments what each controls
Trigger the same workflow from push, pull_request, workflow_dispatch, and schedule events, then verify in the Actions tab which run was caused by which event
Restrict a job's token by setting a least-privilege permissions block and confirm the default read-only behavior of GITHUB_TOKEN in a fork-based pull_request run
Apply path and branch filters plus an ignore pattern to a push trigger and prove with three commits which ones did and did not start a run
Your checkpoint
A public repository containing one workflow file with four distinct triggers, a least-privilege permissions block, and a README table mapping each trigger to the run it produced
Workflow creation
Build a multi-job workflow with needs dependencies and a matrix that expands over two operating systems and two runtime versions, then read the resulting job graph in the UI
Pass data between jobs using job outputs and between steps using GITHUB_OUTPUT and GITHUB_ENV, and demonstrate the difference between the two scopes
Implement fail-fast disabled matrix with continue-on-error on one leg, and inspect how the overall run conclusion is reported
Add a reusable workflow with workflow_call inputs and secrets and call it from a second repository or a second workflow file
Your checkpoint
A four-job pipeline (lint, test matrix, build, report) where the report job consumes outputs from the matrix and reusable workflows are invoked at least once
Automation
Select and pin third-party actions to full commit SHAs, and document why tag pinning is weaker for supply-chain safety
Use actions/cache with a lockfile-derived key and a restore-keys fallback, then measure cold versus warm run duration from the logs
Persist build artifacts with actions/upload-artifact and consume them in a later job with actions/download-artifact, including a retention-days setting
Write a step that fails intentionally and another that runs with if: always() to confirm conditional execution semantics after failure
Your checkpoint
A workflow that restores a cache, uploads and downloads an artifact across jobs, and a short writeup comparing run times with and without cache hits
Automation & Intermediate-level GitHub Actions practice for DevOps engineers, software developers, and IT professionals
Create a composite action in a local directory with inputs and outputs and call it from a workflow in the same repository
Create a JavaScript action or a Docker container action, tag a release, and reference it by major version tag from another workflow
Integrate repository secrets and environment-scoped secrets, and verify with a redaction test that secret values never appear in logs
Configure an environment with required reviewers and confirm a deployment job pauses for approval
Your checkpoint
One published custom action with a version tag plus a consuming workflow that uses environment protection rules and passes a secret without leaking it
CI/CD pipeline management
Structure a CI workflow that runs lint, unit tests, and a coverage threshold gate on every pull request and blocks merge via branch protection
Add a build stage that produces a versioned artifact and a downstream stage that only runs on the default branch
Implement a manual approval gate using environments and describe the rollback path if the deploy step fails
Introduce a concurrency group with cancel-in-progress so superseded pull request runs are cancelled automatically
Your checkpoint
A pull-request-to-deploy pipeline with branch protection, a coverage gate, and a concurrency group, demonstrated by a merged pull request that walks through every stage
CI/CD pipeline management & Intermediate-level GitHub Actions practice for DevOps engineers, software developers, and IT professionals
Use strategy matrix with include and exclude to cover a supported version range without redundant jobs
Add service containers for a database and run integration tests against it inside the job
Split a growing workflow into reusable workflows with typed inputs and document the inputs in a table
Diagnose and fix a deliberately broken workflow using step debug logging and the run logs, recording the root cause of each failure
Your checkpoint
A refactored pipeline using reusable workflows and a service container, plus a troubleshooting log of at least three real failures with root cause and fix
Intermediate-level GitHub Actions practice for DevOps engineers, software developers, and IT professionals & Automation
Automate issue triage or stale management with a scheduled workflow and the GitHub CLI or REST API, using a scoped token
Add a scheduled security scan or dependency review workflow and interpret its output on a test pull request
Configure workflow-level and job-level timeouts and a retry pattern for a flaky external call
Restrict a workflow to trusted contexts by avoiding script injection from pull request titles and branch names, and show the corrected pattern
Your checkpoint
An automation workflow running on a schedule that performs at least one repository mutation via the API, with a written note on token scoping and injection-safe scripting
Workflow creation & Automation & CI/CD pipeline management & Intermediate-level GitHub Actions practice for DevOps engineers, software developers, and IT professionals
Audit every workflow in the repository against a checklist covering pinning, permissions, timeouts, concurrency, and secret handling, and remediate the gaps
Run a timed practice set of scenario questions on triggers, expressions, and job dependencies, then review every wrong answer
Reconstruct from memory a complete pipeline that covers trigger, matrix, cache, artifact, environment gate, and reusable workflow
Document the pipeline architecture with a diagram-free text description of job order, data flow, and failure handling
Your checkpoint
A remediated repository passing your own audit checklist plus a written architecture summary of the full pipeline and a scored practice-set review
Milestones
Week 2: Can write a multi-job workflow with matrix, needs, and outputs from a blank file without reference material, and explain the difference between step-level and job-level data passing
Week 4: Has a published custom action consumed by a second workflow and can explain SHA pinning, cache key design, and environment approval without notes
Week 6: Runs a full pull-request-to-deploy pipeline that gates on tests and coverage, pauses for approval, and cancels superseded runs
Week 8: Repository passes the self-audit checklist on permissions, pinning, timeouts, concurrency, and secret hygiene, and practice-set accuracy is at or above 80 percent