# Fast, Portable CI Pipelines that Run Anywhere

### Why portable pipelines?

If you find yourself waiting for an entire CI pipeline to re-run just because you updated a commit message, Garden might be the tool for you. It can be the difference between *hours* and *minutes* across all stages of software delivery.

Teams typically use Garden to run tests, create preview environments, and share team namespaces in long-lived Kubernetes clusters. The more teams use Garden, the faster your CI pipelines become because everyone contributes to a shared cache. This is particularly useful for end-to-end tests, which are often the longest running tests in CI.

Similarly, when developers run the test from their laptop, Garden will also skip running it in CI. Since the test runs in a remote environment and Garden knows the version of every single file, they can trust that the test does indeed pass. No need to run it again.

Simply by adding extra environments to your Garden project, you can use Garden for local development *and* for testing and deploying your project in CI.

### Key features

* **Cached builds and tests**: Garden caches your tests and builds so you **only run what has changed**. The result is dramatic reductions for CI run-times, typically *twenty minutes* to an *hour*.
* **Automatic environment cleanup**, **deep Insights into CI test, builds and deploys**, and **triggered CI runs** with [Garden Cloud](https://app.garden.io/plans)
* **Encode once, run anywhere**: [Garden's Workflows](https://docs.garden.io/features/workflows) can be run from any environment, including local machines, CI servers, and cloud environments.
* **Visualize your CI/CD flow**: Use the [Garden dashboard](https://app.garden.io) to visualize your CI/CD pipeline, view logs, and track command history.
* **Accelerate build times**: With remote image builds, you can speed up your image build times significantly.

If you're already familiar with Garden and just want to get going, click any of the links above to set up your features.

### Resources

* Garden's [Quickstart](https://docs.garden.io/getting-started/quickstart)
* [Using Garden in CircleCI](https://docs.garden.io/guides/using-garden-in-circleci)
* Garden's official [GitHub Action](https://github.com/marketplace/actions/garden-action).

### Further Reading

* [What is Garden](https://docs.garden.io/overview/what-is-garden)
* [Using the CLI](https://docs.garden.io/guides/using-the-cli)
* [Variables and Templating](https://docs.garden.io/features/variables-and-templating)
* [Adopting Garden](https://docs.garden.io/misc/adopting-garden)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.garden.io/overview/use-cases/portable-ci-pipelines.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
