@@ -12,22 +12,45 @@ phases:
1212 - >
1313 aws ecr get-login-password --region $AWS_REGION \
1414 | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com
15+ - docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:prod || true
16+ - docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder || true
17+ - docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:prod || true
1518 build :
1619 commands :
17- - echo building images...
20+ - echo building and testing dev images...
21+ - docker-compose up -d --build
22+ - docker-compose exec -T api python -m pytest "src/tests" -p no:warnings --cov="src"
23+ - docker-compose exec -T api flake8 src
24+ - docker-compose exec -T api black src --check
25+ - docker-compose exec -T api isort src --check-only
26+ - docker-compose exec -T client npm run lint
27+ - docker-compose exec -T client npm run prettier:check
28+ - docker-compose exec -T client npm run prettier:write
29+ - echo building prod images...
1830 - >
1931 docker build \
32+ --cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:prod \
2033 -f services/users/Dockerfile.prod \
2134 -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:prod \
2235 ./services/users
2336 - >
2437 docker build \
38+ --target builder \
39+ --cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder \
2540 -f services/client/Dockerfile.prod \
26- -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:prod \
41+ -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder \
2742 --build-arg NODE_ENV=production \
2843 --build-arg REACT_APP_API_SERVICE_URL=$REACT_APP_API_SERVICE_URL \
2944 ./services/client
45+ - >
46+ docker build \
47+ --cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:prod \
48+ -f services/client/Dockerfile.prod \
49+ -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:prod \
50+ ./services/client
3051 post_build :
3152 commands :
53+ - echo pushing prod images to ecr...
3254 - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:prod
55+ - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder
3356 - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:prod
0 commit comments