getServerSideProps (#3185) #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- sp/old-ajna-support-subdomain | |
name: Deploy to Old Ajna AWS Production | |
jobs: | |
deploy: | |
name: Deploy | |
runs-on: ubuntu-latest | |
env: | |
AWS_REGION: us-east-1 | |
ECR_REPO_NAME: summer-fi-old-ajna-prod | |
SERVICE_NAME: summer-fi-old-ajna-prod | |
CLUSTER_NAME: summer-fi-old-ajna-prod | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v2 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_OLD_AJNA }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_OLD_AJNA }} | |
aws-region: ${{ env.AWS_REGION }} | |
- name: Login to Amazon ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v1 | |
- name: Extract commit hash | |
id: vars | |
shell: bash | |
run: | | |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" | |
- name: Build, tag, and push image to Amazon ECR | |
id: build-image | |
env: | |
SHA_TAG: ${{ steps.vars.outputs.sha_short }} | |
LATEST_TAG: latest | |
ENVIRONMENT_TAG: prod | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
run: | | |
# Build a docker container and | |
# push it to ECR so that it can | |
# be deployed to ECS. | |
docker build --build-arg COMMIT_SHA='' \ | |
--build-arg NOTIFICATIONS_HOST=${{ secrets.NOTIFICATIONS_HOST_PROD }} \ | |
--build-arg NOTIFICATIONS_HOST_GOERLI=${{ secrets.NOTIFICATIONS_HOST_PROD_GOERLI }} \ | |
--build-arg AJNA_SUBGRAPH_URL=${{ secrets.AJNA_SUBGRAPH_URL_PROD }} \ | |
--build-arg AJNA_SUBGRAPH_URL_GOERLI=${{ secrets.AJNA_SUBGRAPH_URL_GOERLI }} \ | |
--build-arg MIXPANEL_ENV=production \ | |
--build-arg MIXPANEL_KEY=${{ secrets.MIXPANEL_KEY_PROD }} \ | |
--build-arg ADROLL_ADV_ID=${{ secrets.ADROLL_ADV_ID_PROD }} \ | |
--build-arg ADROLL_PIX_ID=${{ secrets.ADROLL_PIX_ID_PROD }} \ | |
--build-arg MAINNET_CACHE_URL=${{ secrets.MAINNET_CACHE_URL_PROD }} \ | |
--build-arg MAILCHIMP_ENDPOINT=${{ secrets.MAILCHIMP_ENDPOINT }} \ | |
--build-arg MAILCHIMP_API_KEY=${{ secrets.MAILCHIMP_API_KEY }} \ | |
--build-arg INFURA_PROJECT_ID=${{ secrets.INFURA_PROJECT_ID_PROD }} \ | |
--build-arg ETHERSCAN_API_KEY=${{ secrets.ETHERSCAN_API_KEY }} \ | |
--build-arg BLOCKNATIVE_API_KEY=${{ secrets.BLOCKNATIVE_API_KEY_PROD }} \ | |
--build-arg SHOW_BUILD_INFO=0 \ | |
--build-arg NODE_ENV=production \ | |
--build-arg NEXT_PUBLIC_SENTRY_ENV=production \ | |
--build-arg SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} \ | |
--build-arg PRODUCT_HUB_KEY=${{ secrets.PRODUCT_HUB_KEY }} \ | |
--build-arg ONE_INCH_API_KEY=${{ secrets.ONE_INCH_API_KEY_PROD }} \ | |
--build-arg ONE_INCH_API_URL=${{ secrets.ONE_INCH_API_URL_PROD }} \ | |
--build-arg REFERRAL_SUBGRAPH_URL=${{ secrets.REFERRAL_SUBGRAPH_URL_PROD }} \ | |
--cache-from=$ECR_REGISTRY/$ECR_REPO_NAME:$ENVIRONMENT_TAG \ | |
-t $ECR_REGISTRY/$ECR_REPO_NAME:$SHA_TAG \ | |
-t $ECR_REGISTRY/$ECR_REPO_NAME:$LATEST_TAG \ | |
-t $ECR_REGISTRY/$ECR_REPO_NAME:$ENVIRONMENT_TAG \ | |
. | |
docker push $ECR_REGISTRY/$ECR_REPO_NAME --all-tags | |
- name: Update ECS service with latest Docker image | |
id: service-update | |
run: | | |
aws ecs update-service --cluster $CLUSTER_NAME --service ${{ env.SERVICE_NAME }} --force-new-deployment --region $AWS_REGION | |
- name: Wait for all services to become stable | |
uses: oryanmoshe/[email protected] | |
with: | |
ecs-cluster: ${{ env.CLUSTER_NAME }} | |
ecs-services: '["${{ env.SERVICE_NAME }}"]' | |
- name: Invalidate CloudFront | |
run: | |
AWS_MAX_ATTEMPTS=10 aws cloudfront create-invalidation --distribution-id ${{ | |
secrets.CF_DIST_ID_OLD_AJNA }} --paths "/*" |