Skip to main content

One post tagged with "automation"

View All Tags

Automated Component Testing

Erik Osterman
Cloud Posse

We're excited to announce the completion of the second phase of our Component Testing project, which has added automated testing for 27 components. This milestone follows our successful migration of 160+ Terraform Components from a monorepo to individual repositories, making them more maintainable and testable.

Hello SweetOps!

A few months ago, we embarked on a MASSIVE project to enable Component Testing.

The goal is to improve the stability of our components, detect and fix integration errors, and pave the way for confident delivery of new features. In the first phase, we split the cloudposse/terraform-aws-components monorepo consisting of 160+ Terraform Components into individual repositories in the cloudposse-terraform-components GitHub organization. We updated the cloudposse/github-action-atmos-component-updater GitHub action to rewrite URLs in component manifests automatically, allowing you to smoothly migrate to new repositories.

Current Status

Now, we are happy to announce that we have completed the second phase of this project, introducing automated tests for the first 27 components. Hopefully, you are already using components from the new organization!

The complete list of covered components can be found here.

We've developed a Go-based testing framework built on top of Terratest, optimized specifically for testing Atmos components.
Additionally, we created a step-by-step guide to help you write effective component tests.
You can track the project's progress on this board.

We invite everyone to contribute to this project.

Please like the "Add component tests" issue in the corresponding component repository for which you are interested in prioritizing test coverage. If you want to contribute more, we have the opportunity.

How can you help?

We really need help writing tests.

You can take any "Add component tests" issue with the "Good First Question" label and contribute to the test following our documentation.

We will prioritize reviewing your PRs in the #pr-reviews channel and help ensure they get merged smoothly.. Feel free to DM to @Erik Osterman or @Igor Rodionov in Slack with any questions or feedback.

Join the Conversation!

Want to help shape the future of our Terraform components? We're building it in the open and you're invited.
Join us in the SweetOps Slack to chat about component testing, automation, and all things Terraform.

P.S.: Huge thanks to @RoseSecurity for the first community-driven component test contribution here.