Skip to content

Commit 88b91d4

Browse files
authored
Use atmos instead of makefile (#230)
* Added atmos readme * Added migration * Replace YQ with sed * Remove includes docs/github-action.md and docs/target.md from README.yaml as atmos generate it on fly * Remove github-action-atmos-dependencies-test GHA
1 parent c298af2 commit 88b91d4

File tree

15 files changed

+251
-46
lines changed

15 files changed

+251
-46
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55

66
.build-harness
77
build-harness
8+
.atmos

Makefile

Lines changed: 0 additions & 7 deletions
This file was deleted.

README.md

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
<!-- markdownlint-disable -->
44
<a href="https://cpco.io/homepage"><img src="https://github.com/cloudposse/.github/blob/main/.github/banner.png?raw=true" alt="Project Banner"/></a><br/>
5-
<p align="right">
6-
<a href="https://github.com/cloudposse/.github/commits/main/"><img src="https://img.shields.io/github/last-commit/cloudposse/.github/main?style=for-the-badge" alt="Last Update"/></a><a href="https://cloudposse.com/slack"><img src="https://slack.cloudposse.com/for-the-badge.svg" alt="Slack Community"/></a></p>
5+
6+
7+
<p align="right"><a href="https://github.com/cloudposse/.github/commits/main/"><img src="https://img.shields.io/github/last-commit/cloudposse/.github/main?style=for-the-badge" alt="Last Update"/></a><a href="https://cloudposse.com/slack"><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+
</p>
710
<!-- markdownlint-restore -->
811

912
<!--
@@ -64,6 +67,10 @@ To add all repository bootstrapping files to a new repo:
6467

6568

6669

70+
71+
72+
73+
6774
## ✨ Contributing
6875

6976
This project is under active development, and we encourage contributions from our community.
@@ -88,6 +95,38 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.
8895

8996
**NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request!
9097

98+
99+
## Running Terraform Tests
100+
101+
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.
102+
103+
All tests are located in the [`test/`](test) folder.
104+
105+
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.
106+
107+
Setup dependencies:
108+
- Install Atmos ([installation guide](https://atmos.tools/install/))
109+
- Install Go [1.24+ or newer](https://go.dev/doc/install)
110+
- Install Terraform or OpenTofu
111+
112+
To run tests:
113+
114+
- Run all tests:
115+
```sh
116+
atmos test run
117+
```
118+
- Clean up test artifacts:
119+
```sh
120+
atmos test clean
121+
```
122+
- Explore additional test options:
123+
```sh
124+
atmos test --help
125+
```
126+
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.
127+
128+
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.
129+
91130
### 🌎 Slack Community
92131

93132
Join our [Open Source Community](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/.github&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.
@@ -139,7 +178,7 @@ All other trademarks referenced herein are the property of their respective owne
139178

140179
## Copyrights
141180

142-
Copyright © 2022-2024 [Cloud Posse, LLC](https://cloudposse.com)
181+
Copyright © 2022-2025 [Cloud Posse, LLC](https://cloudposse.com)
143182

144183

145184

atmos.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Atmos Configuration — powered by https://atmos.tools
2+
#
3+
# This configuration enables centralized, DRY, and consistent project scaffolding using Atmos.
4+
#
5+
# Included features:
6+
# - Organizational custom commands: https://atmos.tools/core-concepts/custom-commands
7+
# - Automated README generation: https://atmos.tools/cli/commands/docs/generate
8+
#
9+
10+
# Import shared configuration used by all modules
11+
import:
12+
- https://raw.githubusercontent.com/cloudposse/.github/refs/heads/main/.github/atmos/default.yaml

docs/.gitkeep

Whitespace-only changes.

docs/targets.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/terraform.md

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## what
2+
- Remove `Makefile`
3+
- Add `atmos.yaml`
4+
5+
## why
6+
- Replace `build-harness` with `atmos` for readme genration
7+
8+
## References
9+
* DEV-3229 Migrate from build-harness to atmos
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
cloudposse/github-action-datadog-notify
2+
cloudposse/github-action-pull-request-labeling
3+
cloudposse/github-action-interface-environment
4+
cloudposse/github-action-docker-compose-test-run
5+
cloudposse/github-action-telemetry
6+
cloudposse/github-action-sync-docker-repos
7+
cloudposse/github-action-pre-commit
8+
cloudposse/github-action-seek-deployment
9+
cloudposse/github-action-config-levels
10+
cloudposse/github-action-major-release-tagger
11+
cloudposse/github-action-release-branch-manager
12+
cloudposse/github-action-matrix-extended
13+
cloudposse/github-action-spacelift-stack-deploy
14+
cloudposse/github-action-docker-promote
15+
cloudposse/github-action-release-label-validator
16+
cloudposse/github-action-monorepo-random-controller
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
cloudposse/github-action-secret-outputs
2+
cloudposse/github-action-aws-region-reduction-map
3+
cloudposse/github-action-docker-build-push
4+
cloudposse/github-action-atmos-terraform-select-components
5+
cloudposse/github-action-matrix-outputs-read
6+
cloudposse/github-action-atmos-component-updater
7+
cloudposse/github-action-preview-labels-cleanup
8+
cloudposse/github-action-terratest
9+
cloudposse/github-action-auto-format
10+
cloudposse/github-action-kubernetes-environment
11+
cloudposse/github-action-terraform-auto-context
12+
cloudposse/github-action-jq
13+
cloudposse/github-action-atmos-terraform-plan
14+
cloudposse/github-action-atmos-terraform-drift-detection
15+
cloudposse/github-action-setup-atmos
16+
cloudposse/github-action-atmos-affected-trigger-spacelift

0 commit comments

Comments
 (0)