-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Describe the Feature:
- Migrate our current CircleCI Terratest pipeline declared in this file to a GitHub Actions based pipeline.
- This migration aims to leverage well-maintained GitHub actions for terratest and address issues related to outdated makefiles and docker images in our current CircleCI setup.
Expected Behavior:
A fully functional GitHub Actions based pipeline that runs terratest tests within the repo, replacing the current CircleCI pipeline.
Use Case:
The current CircleCI terratest pipeline has encountered issues, and some components are outdated like makefiles:
And docker images:
Migrating to GitHub Actions, which offers well-maintained actions for terratest, can provide a more robust and up-to-date testing environment.
Describe Ideal Solution:
- Integrate the cloudposse/github-action-terratest action into our repository.
- Replace all CircleCI specific configurations with GitHub Actions configurations.
- Ensure all tests run successfully in the new GitHub Actions pipeline.
- Update documentation to reflect the change from CircleCI to GitHub Actions.
Alternatives Considered:
- Fixing the current CircleCI terratest pipeline.
- Exploring other GitHub Actions for terratest or other CI/CD platforms.
Additional Context:
- The cloudposse/github-action-terratest action was suggested as a potential solution. It's relatively new but could be a good alternative to our current CircleCI setup.
- There's a need to evaluate this action thoroughly before full integration.
- If complications arise in fixing our current CircleCI terratest pipeline, this migration could be a viable alternative.
Ref Material
- https://medium.com/@danielaaronw/unlocking-the-power-of-terratest-part-1-4ea71f2f27c2
- https://medium.com/@danielaaronw/unlocking-the-power-of-terratest-part-2-ffe6c94d637d
- https://medium.com/@danielaaronw/unlocking-the-power-of-terratest-part-3-9bec1cef4c1f
Valuable Considerations from Articles:
- Terratest should not just validate resource creation but should provide deeper insights into the functionality of our Terraform code.
- It's essential to check the interconnectivity between separate resources within our module.
- Custom conditional logic in Terraform modules can simplify module usage and ensure consistent behavior.
- Terratest is vital for testing this custom logic, especially when the module undergoes updates or changes.
- Efficient testing workflows are crucial. Building tests progressively can reduce the runtime of our Terratest stage.
- Integrating Terratest into our testing pipeline ensures consistent scrutiny of our modules' functionality.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels