Closed a13zen closed 6 months ago
We have this mostly done for internal testing. I can put together a module that would deploy a similar component that would run integration testing for any list of manifests.
This is great. Obviously it would be great if this was a module that would be usable by anyone for their SF based deployments. However, the main ask here is for us to detect and be notified early whenever manifests (and downstream their modules) are having any issues deploying/destroying.
This is great. Obviously it would be great if this was a module that would be usable by anyone for their SF based deployments. However, the main ask here is for us to detect and be notified early whenever manifests (and downstream their modules) are having any issues deploying/destroying.
Yep, so I have that idea implemented here: https://github.com/awslabs/idf-modules/pull/174
User would be able to deploy inline within their manifest or deploy this module separately via CDK and/or seedfarmer. Then any changes checked-in to the designated repo/branch would trigger the E2E tests of any specified manifests.
This is now available via IDF: https://github.com/awslabs/idf-modules/tree/main/modules/testing/integration-tests
I think this is a viable starting point for the functionality called out above. We can continue to enhance as needed.
Is your feature request related to a problem? Please describe. We've been encountering issues where changes such as deprecated lambda runtimes, dependencies that have been archived due to CVEs etc. have caused some modules to fail. Also changes upstream from IDF/AIOps Modules sometimes have unexpected side effects on older deployments.
Describe the solution you'd like
Integrate GitHub Actions using the new support for self hosted runners on CodeBuild to automatically deploy + destroy all deployments under the
manifests
folder. This should allow us to get clear, early indications of issues with modules.https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html
This also would allow us to test the deployspec.yaml for creation and destruction and catch any potential issues.