> For the complete documentation index, see [llms.txt](https://docs.testery.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.testery.io/get-to-know-testery/test-stacks.md).

# Test Stacks

Every Testery Test Run has a **Test Stack.** A Test Stack is a collection of operating systems and softwares to enable your Test Framework to run.

A full list of supported Test Stacks is available in the Testery app <https://testery.app/testery/settings/runner-configurations>

You never need to specify a Test Stack - if you don't provide one, a default stack will be selected for you. However, you have the ability to control the versions of Node.js and Chrome that your tests will run against by providing a testery.yml file in your source repository.

For example, a Cypress run might be assigned, by default, to the `node-chrome.120-java.17-nodejs.18` test stack. This uses Node.js 18 and Chrome 120.

If you wanted to test your code against Chrome 121, you would provide the following in your testery.yml file.

```
test_stack:
  configuration_key: node-chrome.121-java.17-nodejs.18
```

One benefit of this approach is allowing you to test new versions of dependencies on a branch. Testery will respect the testery.yml file in your branch, allowing you to fix issues on your branch, while using the default Test Stack on your `main` branch.
