All new Partner Solutions and updates to existing Partner Solutions are tested and validated by our CI/CD system.

Partner Solutions enter the testing pipeline through GitHub. The GitHub repository for your Partner Solution is programmatically created in accordance with AWS standards via the GitHub API. The automated workflow includes these steps:

  1. When your code is ready, create a pull request against the main branch of your GitHub repository.

  2. The Partner Solution CI system evaluates your pull request using a tool called cfn-lint. Cfn-lint, which has a custom ruleset, checks against best practices, ensures that required files are present, and ensures that unrelated files are not present in the target branch. (See “GitHub branches” in the Follow best practices section of this guide.)

  3. If that validation completes successfully, the solutions architect working with you on the Partner Solution initiates end-to-end testing. During this testing, the Partner Solution CI system tests your code changes by using a tool called TaskCat. For more information, including how to use this tool for your own projects, refer to the Test your templates automatically with TaskCat section of this guide.

  4. If that validation completes successfully, the CI system merges your code changes into the main branch of the GitHub repository.

  5. When you’re ready to publish, the CI system performs another validation pass, creates an S3 bucket, and uploads the Partner Solution templates and scripts into that bucket. Your code changes are now live.

Don’t rely on automated testing alone. For information about testing and debugging your code, refer to the Test your CloudFormation templates section of this guide.