> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Use Environment Revision Controls in Domino

Domino enables you to manage environment inheritance and revision lifecycles with features such as build propagation, revision pinning, and revision selection. These tools help ensure the automatic propagation of environment updates, allowing for safe testing of changes, and giving you control over which revisions are used across your workflows.

This approach improves environment lifecycle management in two key ways:

* **Better governance and compliance**, since environment updates can be cascaded through derived environments.

* **More robust automation**, with the ability to test updated environments before production workloads adopt them.

Together, these capabilities make it easier to scale, standardize, and maintain reliable environments across teams and projects.

## Prerequisites

* You must have permission to create or edit compute environments.

* You should be familiar with how base and derived environments work in Domino.

## Step 1: Select a base revision (revision selection)

When creating or editing an environment:

1. Go to **Environments** > **Create Environment** or open an existing one.

2. Under **Base Environment**, select a base environment.

3. In the **Revision** dropdown, you can:

   1. Choose a specific revision of the base, or

   2. Select **Active - auto-rebuild** to subscribe to the base’s current Active revision.

      Choosing **Active - auto-rebuild** enables build propagation. Any change to the Active revision of the base environment will trigger an automatic rebuild of this environment.

## Step 2: Manage automatic activation of revisions (revision pinning)

You can control whether the latest revision becomes Active automatically or if activation must be manual.

**When creating a new environment**\
In the setup form, check or uncheck **Auto-assign latest revision as Active**:

* **Checked:** New revisions are automatically set to Active.

* **Unchecked:** You must manually activate revisions (i.e., the Active revision is pinned).

**For existing environments**\
If using build propagation, uncheck this option to avoid automatically activating new, untested revisions:

1. Go to the **Revisions** tab.

2. Uncheck **Auto-assign latest revision as Active** to pin the current Active revision.

3. Manually promote future revisions when ready.

## Step 3: Use build propagation

If you selected **Active - auto-rebuild** in Step 1:

* Any time the base environment’s Active revision changes, a new revision of your environment will be built automatically.

* If the environment has **Auto-assign latest revision as Active** toggled **on**, this new revision becomes Active.

* If the environment has **Auto-assign latest revision as Active** toggled **off** (i.e., the Active revision is pinned), the new revision must be activated manually.

If the environment has **Auto-assign latest revision as Active** toggled **on**, the new auto-rebuilt revision is automatically set to Active and consequently propagates builds to any of its subscribed environments. This way you can achieve chained propagation across multiple levels of environment inheritance.

## Next Steps

* [Customize an Environment](/cloud/platform-capabilities/core-concepts/compute-environments/manage-compute-environments/5-edit-environment-definition) to enable tools, run scripts, or manage environment variables.

* [Set a default Environment]() to address particular package or IDE requirements.

* Enhance your coding by using [Use AI coding assistants](/cloud/solution-guides/coding-assistants) in a Domino Environment.

* [Manage Environment variables](/cloud/platform-capabilities/core-concepts/compute-environments/manage-compute-environments/manage-environment-variables) to help configure how the system runs and manage secrets or settings across different areas.
