Creating Environments

Environments are built on a page of their own: you pick platforms on the left, and the combinations they produce appear on the right as you pick. There is no wizard and no next button — the whole decision is on one screen.

Opening the composer

From Settings → Environments, click New environments in the Environments panel head. Before any environment exists the panel’s empty state offers Build environments instead, which opens the same page. Either way you land on a full page with the breadcrumb Environments / New environments, and it is directly linkable.

You need at least one enabled platform in an enabled group before there is anything to build with.

Picking platforms

The left panel is headed Platforms, with the rule stated above it: “Pick the values you want to test across. Every combination of one value per group becomes an environment.”

Each group is an axis. Its heading shows how many of its platforms you have picked — 3/3 — and carries a checkbox that selects every platform in that group at once. Individual platforms are toggled by clicking them. A Clear all button appears in the panel head once anything is selected.

Only platforms you can actually build with are offered. Anything excluded is named underneath, with the reason and the fix:

“Not available to build with: Edge, Locales (whole group) — disabled. Enable it in Platform groups to include it.”

A disabled platform and a platform inside a disabled group are both named, and the whole-group case says so. A group with no platforms is not offered as an axis at all.

The multiplication, on screen

The right panel is headed Environments to create. Before you pick anything it explains the arithmetic rather than showing an empty box:

Nothing to create yet. “Pick at least one platform above. One value per group makes one environment; two browsers and three operating systems make six.”

As you pick, the count updates in two stages. Immediately after a click it shows an estimate the page can do itself — ~9, labelled “estimated from your picks — checking which already exist”, with “About 9 environments, reconciling…” in the footer. A moment later the server answers and the number becomes exact, with its own explanation: “9 new environments from 7 platforms”.

Every combination is listed by the name it will be given — the platform names sorted alphabetically and joined with commas, which is why Chrome, iPhone 15 and macOS 14 becomes “Chrome, iPhone 15, macOS 14” regardless of the order you picked them in.

Combinations that already exist

Nothing is silently dropped. A combination that is already an environment is still listed, greyed, with an Already exists chip and the reason “This combination is already an environment, so it is not created again.” The header accounts for both halves at once — “6 new environments · 3 of the 9 combinations already exist” — so the number of rows always reconciles with the number you were told to expect. Duplicates are never created.

Choosing what to create

New combinations are all ticked by default, and the panel head offers Select none (or Select all). Untick anything you do not want. The footer keeps a running statement — “6 of 6 new environments selected” — and the button names the exact number it will create: Create 6 environments.

The 100 cap

A single run creates at most 100 environments. When a selection produces more, nothing is preselected — the footer reads “0 of 108 new environments selected” and the create button is disabled. Select all and the panel states the limit and the exact overshoot:

“108 selected — 100 is the most that can be created at once. Deselect 8.”, beside a Keep the first 100 button.

Keep the first 100 trims the selection for you; the footer becomes “100 of 108 new environments selected” and the button becomes Create 100 environments. Run the composer again for the remainder — the ones you already made will come back marked Already exists.

Project availability

Below the results, Project availability sets where the new environments can be used. It applies to the whole batch: “Applies to every environment created here. Each one can be changed afterwards.”

  • All projects — described as “Including new ones”, so projects created later pick it up automatically.
  • Selected projects — a Choose projects control appears, with “Only these projects can record runs against them.” Until you pick at least one project the create button stays disabled.

After creating

The batch is created in one go and you are returned to the Environments page, where the new rows are at the top of the list — the list is newest-first. New environments arrive enabled; there is nothing to set for that in the composer.

Names are generated and permanent. They are derived from the platform combination at creation and cannot be edited afterwards, so a test run report always says what was actually tested even if a platform is renamed later.