version: 0.2

phases:
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - aws --version
      - $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
      - REPOSITORY_URI=197175460810.dkr.ecr.us-east-1.amazonaws.com/pangea-backend
      - IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)    
      - (cd docker && pwd && docker-compose -f docker-compose-cloudbuild.yml build)
  build:
    commands:
      - echo test started on `date`
      - (cd docker && pwd && docker-compose -f docker-compose-cloudbuild.yml up --abort-on-container-exit)
      - echo Build completed on `date`
      - echo Building the Docker image...        
      - docker build -t $REPOSITORY_URI:latest .
      - docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
      - echo Pushing the Docker images...
      - docker push $REPOSITORY_URI:latest
      - docker push $REPOSITORY_URI:$IMAGE_TAG

  post_build:
    commands:
      - echo Writing image definitions file...
      - printf '[{"name":"meridio-api","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions-uat.json
      - printf '[{"name":"pan-stg-srvapi","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions-staging.json
      - printf '[{"name":"pangea-backend","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions-prod.json
artifacts:
    files: 
      - imagedefinitions-uat.json
      - imagedefinitions-staging.json
      - imagedefinitions-prod.json