### `deploy-to-test` #### Current candidate release process ```sequence Note left of Pay CI: Candidate build tag created Pay CI->GitHub: Fetch main branch release GitHub-->Pay CI: Success Pay CI->Pay CI: Build project (x86) Pay CI->Pay CI: Build image (x86) Pay CI->AWS: Push #build-candidate (x86) to ECR AWS-->Pay CI: Success Note left of Pay CI: Slack notification Note left of Pay CI: Get candidate image Pay CI->AWS: Trigger E2E CodeBuild (x86) Note right of AWS: Tests passed AWS-->Pay CI: Success Pay CI->AWS: Push #build-release, latest to ECR AWS-->Pay CI: Success Pay CI->Dockerhub: Push latest-master to Dockerhub Dockerhub-->Pay CI: Success Note left of Pay CI: Slack notification Note left of Pay CI: Deploy to test... ``` #### Interim candidate release process ```sequence Note left of Pay CI: Candidate build tag created Pay CI->GitHub: Fetch main branch release GitHub-->Pay CI: Success Pay CI->AWS: Copy repo to S3 Pay CI->AWS: Trigger CodeBuild (ARM) Note right of AWS: Fetch source from S3 Note right of AWS: Push #build-candidate-arm to ECR Pay CI->Pay CI: Build project (x86) Pay CI->Pay CI: Build image (x86) Pay CI->AWS: Push #build-candidate to ECR (x86) Note left of Pay CI: Await CodeBuild result AWS-->Pay CI: Success Note left of Pay CI: Slack notification Note left of Pay CI: Get candidate images (x86, ARM) Pay CI->AWS: Trigger E2E CodeBuild (x86) Note right of AWS: Tests passed AWS-->Pay CI: Success Pay CI->AWS: Push #build-release, #build-release-arm, latest to ECR AWS-->Pay CI: Success Pay CI->Dockerhub: Push latest-master, latest-arm to Dockerhub Dockerhub-->Pay CI: Success Note left of Pay CI: Slack notification Note left of Pay CI: Deploy to test... ``` #### Final candidate release process ```sequence Note left of Pay CI: Candidate build tag created Pay CI->GitHub: Fetch main branch release GitHub-->Pay CI: Success Pay CI->AWS: Copy repo to S3 Pay CI->AWS: Trigger CodeBuild (ARM and x86) Note right of AWS: Fetch source from S3 Note right of AWS: Push #build-candidates to ECR Note left of Pay CI: Await CodeBuild result AWS-->Pay CI: Success Pay CI->AWS: Trigger manifest CodeBuild Note right of AWS: Push #build-candidate index to ECR Note left of Pay CI: Await CodeBuild result AWS-->Pay CI: Success Note left of Pay CI: Slack notification Note left of Pay CI: Get candidate image Pay CI->AWS: Trigger E2E CodeBuild (x86) Note right of AWS: Tests passed AWS-->Pay CI: Success Pay CI->AWS: Push #build-release, latest to ECR AWS-->Pay CI: Success Pay CI->Dockerhub: Push latest-master to Dockerhub Dockerhub-->Pay CI: Success Note left of Pay CI: Slack notification Note left of Pay CI: Deploy to test... ```