Guides
- CODEOWNERS and Branch Protection Best PracticesWrite a CODEOWNERS file that works, require code owner review, and set branch protection or rulesets for reviews, checks and signed history.
- Dependabot Setup That Doesn't Drown Your TeamConfigure dependabot.yml with grouping, schedules, cooldown, ignore rules and auto-merge so updates arrive in a few useful PRs instead of dozens.
- Docker Layer Caching in CI With BuildxMake Docker builds in GitHub Actions fast with buildx cache-from and cache-to, the gha and registry backends, and a Dockerfile ordered for cache hits.
- DORA Metrics: What to Measure and HowThe DORA software delivery metrics defined, how to compute each from GitHub data, what the 2024 research says, and how to avoid gaming and misuse.
- How to Find, Fix and Contain Flaky Tests in CIA practical plan for flaky tests: measure the flake rate, rerun to detect, quarantine safely, fix the usual causes, and keep retries from hiding bugs.
- Estimating and Forecasting CI Costs for a Growing TeamA simple model to forecast GitHub Actions minutes and spend as your team grows: runs per developer, minutes per run, OS multipliers, rounding and budgets.
- Caching in GitHub Actions: Keys, Limits, ExamplesHow actions/cache, setup-* caching and restore-keys work, with copy-ready YAML, cache scope and size limits, and the mistakes that cause misses.
- Cron Schedules in GitHub Actions: UTC, Delays, PitfallsWrite GitHub Actions schedule triggers correctly: POSIX cron syntax, UTC only, delays at busy times, 60-day inactivity disabling and default-branch rules.
- GitHub Actions Matrix Builds Done RightUse strategy.matrix with include, exclude, fail-fast and max-parallel, keep the job count and bill in check, and wire up required checks correctly.
- GitHub Actions OIDC to AWS: No Long-Lived KeysSet up OpenID Connect between GitHub Actions and AWS: the identity provider, a locked-down IAM trust policy, workflow YAML and common errors.
- GitHub Merge Queue: Setup, Workflows and PitfallsHow GitHub merge queues work, how to enable them, the merge_group trigger your workflows need, group size settings, and what they do to CI cost.
- macOS Runners for iOS CI: Costs and Speed-UpsWhat macOS runners cost on GitHub Actions, why they burn your free minutes 10 times faster, and how to cut iOS CI time and spend.
- Monorepo CI With Nx or Turborepo: Affected BuildsRun only what changed in a monorepo on GitHub Actions. Nx affected, Turborepo filters, remote caching, path filters and the checkout settings that matter.
- How to Reduce Your GitHub Actions BillWhere GitHub Actions money goes and 10 ways to cut it: rounding, OS multipliers, concurrency, timeouts, artifacts, matrices and runner choice.
- Securing GitHub Actions: A Hardening ChecklistHarden GitHub Actions workflows: least-privilege GITHUB_TOKEN permissions, pinning actions by SHA, pull_request_target, script injection and secrets.
- Self-Hosted vs GitHub-Hosted Runners: Cost and RiskCompare GitHub-hosted, self-hosted and third-party runners on cost, speed, security and upkeep, with a break-even formula and a safe ephemeral setup.
- How to Speed Up GitHub Actions WorkflowsFind where your GitHub Actions minutes go, then cut them with caching, concurrency, path filters, sharding and a bigger runner. With YAML you can copy.
- Speed Up Xcode Builds in CIFaster xcodebuild runs on GitHub Actions: SPM and CocoaPods caching, build-for-testing, simulator setup, and what to leave out of DerivedData caches.
- Using Spot Instances for CI Runners on AWSRun self-hosted CI runners on EC2 Spot to cut compute cost: interruption handling, instance diversification, ephemeral runners, retries and savings math.
- Test Sharding and Parallel Tests in GitHub ActionsSplit a slow test suite across GitHub Actions jobs with matrix shards for Jest, Playwright, pytest and Go. Includes balancing, merging reports and costs.