|
2 | 2 |
|
3 | 3 | <!-- markdownlint-disable --> |
4 | 4 | # Developer Documentation <a href="https://cpco.io/homepage?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/docs&utm_content="><img align="right" src="https://cloudposse.com/logo-300x69.svg" width="150" /></a> |
5 | | -<a href="https://github.com/cloudposse/docs/releases"><img src="https://img.shields.io/github/release/cloudposse/docs.svg?style=for-the-badge" alt="Latest Release"/></a><a href="https://slack.cloudposse.com"><img src="https://slack.cloudposse.com/for-the-badge.svg" alt="Slack Community"/></a> |
| 5 | + |
| 6 | + |
| 7 | +<a href="https://github.com/cloudposse/docs/releases"><img src="https://img.shields.io/github/release/cloudposse/docs.svg?style=for-the-badge" alt="Latest Release"/></a><a href="https://slack.cloudposse.com"><img src="https://slack.cloudposse.com/for-the-badge.svg" alt="Slack Community"/></a><a href="https://cloudposse.com/support/"><img src="https://img.shields.io/badge/Get_Support-success.svg?style=for-the-badge" alt="Get Support"/></a> |
| 8 | + |
| 9 | + |
6 | 10 | <!-- markdownlint-restore --> |
7 | 11 |
|
8 | 12 | <!-- |
@@ -55,17 +59,9 @@ make start |
55 | 59 |
|
56 | 60 |
|
57 | 61 |
|
58 | | -<!-- markdownlint-disable --> |
59 | | -## Makefile Targets |
60 | | -```text |
61 | | -Available targets: |
62 | 62 |
|
63 | | - help Help screen |
64 | | - help/all Display help for all targets |
65 | | - help/short This help short screen |
66 | 63 |
|
67 | | -``` |
68 | | -<!-- markdownlint-restore --> |
| 64 | + |
69 | 65 |
|
70 | 66 |
|
71 | 67 | ## Related Projects |
@@ -100,6 +96,38 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. |
100 | 96 |
|
101 | 97 | **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! |
102 | 98 |
|
| 99 | + |
| 100 | +## Running Terraform Tests |
| 101 | + |
| 102 | +We use [Atmos](https://atmos.tools) to streamline how Terraform tests are run. It centralizes configuration and wraps common test workflows with easy-to-use commands. |
| 103 | + |
| 104 | +All tests are located in the [`test/`](test) folder. |
| 105 | + |
| 106 | +Under the hood, tests are powered by Terratest together with our internal [Test Helpers](https://github.com/cloudposse/test-helpers) library, providing robust infrastructure validation. |
| 107 | + |
| 108 | +Setup dependencies: |
| 109 | +- Install Atmos ([installation guide](https://atmos.tools/install/)) |
| 110 | +- Install Go [1.24+ or newer](https://go.dev/doc/install) |
| 111 | +- Install Terraform or OpenTofu |
| 112 | + |
| 113 | +To run tests: |
| 114 | + |
| 115 | +- Run all tests: |
| 116 | + ```sh |
| 117 | + atmos test run |
| 118 | + ``` |
| 119 | +- Clean up test artifacts: |
| 120 | + ```sh |
| 121 | + atmos test clean |
| 122 | + ``` |
| 123 | +- Explore additional test options: |
| 124 | + ```sh |
| 125 | + atmos test --help |
| 126 | + ``` |
| 127 | +The configuration for test commands is centrally managed. To review what's being imported, see the [`atmos.yaml`](https://raw.githubusercontent.com/cloudposse/.github/refs/heads/main/.github/atmos/terraform-module.yaml) file. |
| 128 | + |
| 129 | +Learn more about our [automated testing in our documentation](https://docs.cloudposse.com/community/contribute/automated-testing/) or implementing [custom commands](https://atmos.tools/core-concepts/custom-commands/) with atmos. |
| 130 | + |
103 | 131 | ### 🌎 Slack Community |
104 | 132 |
|
105 | 133 | Join our [Open Source Community](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/docs&utm_content=slack) on Slack. It's **FREE** for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build totally *sweet* infrastructure. |
@@ -137,7 +165,7 @@ All other trademarks referenced herein are the property of their respective owne |
137 | 165 |
|
138 | 166 |
|
139 | 167 | --- |
140 | | -Copyright © 2017-2024 [Cloud Posse, LLC](https://cpco.io/copyright) |
| 168 | +Copyright © 2017-2025 [Cloud Posse, LLC](https://cpco.io/copyright) |
141 | 169 |
|
142 | 170 |
|
143 | 171 | <a href="https://cloudposse.com/readme/footer/link?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/docs&utm_content=readme_footer_link"><img alt="README footer" src="https://cloudposse.com/readme/footer/img"/></a> |
|
0 commit comments