# Guides

Answers to the questions teams ask about repeated CI work. Each guide starts with the options that need no new tool, then shows where hushrun fits.

## Run fewer checks

- [Skip CI when the code hasn't changed](https://hushrun.com/docs/guides/skip-ci.md): commit messages, path filters and comparing the code itself, and what each one misses.
- [Run GitHub Actions only when files change](https://hushrun.com/docs/guides/github-actions-run-when-files-change.md): filter a workflow, a job or a step, including in a monorepo.
- [Run GitLab CI jobs only when files change](https://hushrun.com/docs/guides/gitlab-ci-rules-changes.md): how `rules:changes` compares in each pipeline, and why it can run every time.
- [Fix "Waiting for status to be reported"](https://hushrun.com/docs/guides/required-check-waiting-for-status.md): why a required GitHub check never reports, and how to fix it safely.
- [Run CI locally before you push](https://hushrun.com/docs/guides/run-ci-locally.md): `act`, `gitlab-ci-local` and `pre-push` hooks, and how to make a local pass count.
- [Why CI runs the same tests twice](https://hushrun.com/docs/guides/duplicate-ci-runs.md): the routes that lead the same code to CI again, and how to close each one.
- [GitHub Actions pricing in 2026](https://hushrun.com/docs/guides/github-actions-pricing.md): prices per minute, what each plan includes and what's free.
- [Reduce your GitHub Actions costs](https://hushrun.com/docs/guides/reduce-ci-costs.md): fewer runs, shorter runs and cheaper minutes, in that order.
- [Cache test results across machines](https://hushrun.com/docs/guides/cache-test-results.md): what Gradle, Bazel, Nx, Turborepo, Vitest and Jest really cache.
- [Keep CI useful with coding agents](https://hushrun.com/docs/guides/coding-agents-ci.md): check before the push, and reuse the result in CI.
- [CI/CD for AI agents](https://hushrun.com/docs/guides/ci-cd-for-ai-agents.md): shipping an agent you built, with evals, pinned models and what a skip can't see.
- [Make Claude Code run tests before it pushes](https://hushrun.com/docs/guides/claude-code-run-tests-before-push.md): what `CLAUDE.md` can't enforce, and Claude Code hooks tested against a failing suite.

## Ship one artifact

- [Build once, deploy many](https://hushrun.com/docs/guides/build-once-deploy-many.md): what the practice means, what it asks of your build, and how to do it.
- [Promote a Docker image between environments](https://hushrun.com/docs/guides/promote-docker-image.md): copy an image by digest, without a rebuild, and prove what you deployed.
- [Docker image digest vs tag](https://hushrun.com/docs/guides/docker-image-digest-vs-tag.md): what each one is, how to find a digest, and when to deploy by it.

## Choosing a tool

[hushrun and the alternatives](https://hushrun.com/docs/compare.md) sets hushrun beside Nx Cloud, Turborepo, Bazel, Kargo and JFrog Artifactory.
