Skip to content

Commit a753260

Browse files
authored
Reverts staging build changes (#2966)
1 parent 9fdbd23 commit a753260

File tree

4 files changed

+115
-88
lines changed

4 files changed

+115
-88
lines changed

.dockerignore

+1-6
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,8 @@
44
.pre-commit*
55
codecov.yml
66
node_modules
7-
!node_modules/ts-node
8-
!node_modules/pg
9-
!node_modules/@types/pg
10-
!node_modules/dotenv
11-
!node_modules/postgres-migrations
127
.env
138
.env*.local
149
./server/database/.env
1510
./server/database/.env.*
16-
.vercel
11+
.vercel

.github/workflows/aws-staging.yaml

+41-72
Original file line numberDiff line numberDiff line change
@@ -3,86 +3,22 @@ on:
33
branches:
44
- dev
55

6-
name: Build and deploy to AWS Staging
6+
name: Deploy to AWS Staging
77

88
jobs:
99
deploy:
10-
name: Build and deploy to AWS Staging
10+
name: Deploy
1111
runs-on: ubuntu-latest
1212
env:
1313
AWS_REGION: eu-central-1
14-
ENVIRONMENT_TAG: staging
14+
ECR_REPO_NAME: summer-fi-staging
1515
SERVICE_NAME: summer-fi-staging
1616
CLUSTER_NAME: summer-fi-staging
17-
CONFIG_URL: ${{ secrets.CONFIG_URL }}
1817

1918
steps:
2019
- name: Checkout
2120
uses: actions/checkout@v3
2221

23-
- name: Setup node
24-
uses: actions/setup-node@v3
25-
with:
26-
node-version: 18.12
27-
28-
- name: Extract commit hash
29-
id: vars
30-
shell: bash
31-
run: |
32-
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
33-
34-
- name: Use modules cache
35-
uses: actions/cache@v3
36-
id: yarn-cache
37-
with:
38-
path: '**/node_modules'
39-
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
40-
41-
- name: Install packages
42-
if: steps.yarn-cache.outputs.cache-hit != 'true'
43-
run: yarn --no-progress --non-interactive --frozen-lockfile
44-
45-
- name: Run postinstall
46-
if: steps.yarn-cache.outputs.cache-hit == 'true'
47-
run: yarn postinstall
48-
49-
- name: Use next cache
50-
uses: jongwooo/next-cache@v1
51-
52-
- name: Build standalone app
53-
id: build-app
54-
env:
55-
NODE_OPTIONS: '--max_old_space_size=4096'
56-
SHA_TAG: ${{ steps.vars.outputs.sha_short }}
57-
LATEST_TAG: latest
58-
CONFIG_URL: ${{ secrets.CONFIG_URL }}
59-
COMMIT_SHA: ${{ steps.vars.outputs.sha_short }}
60-
NOTIFICATIONS_HOST: ${{ secrets.NOTIFICATIONS_HOST_STAGING }}
61-
NOTIFICATIONS_HOST_GOERLI: ${{ secrets.NOTIFICATIONS_HOST_STAGING_GOERLI }}
62-
AJNA_SUBGRAPH_URL: ${{ secrets.AJNA_SUBGRAPH_URL_STAGING }}
63-
AJNA_SUBGRAPH_URL_GOERLI: ${{ secrets.AJNA_SUBGRAPH_URL_GOERLI }}
64-
AJNA_SUBGRAPH_V2_URL: ${{ secrets.AJNA_SUBGRAPH_V2_URL_STAGING }}
65-
AJNA_SUBGRAPH_V2_URL_GOERLI: ${{ secrets.AJNA_SUBGRAPH_V2_URL_GOERLI }}
66-
MIXPANEL_ENV: staging
67-
MIXPANEL_KEY: ${{ secrets.MIXPANEL_KEY_STAGING }}
68-
ADROLL_ADV_ID: ${{ secrets.ADROLL_ADV_ID_STAGING }}
69-
ADROLL_PIX_ID: ${{ secrets.ADROLL_PIX_ID_STAGING }}
70-
MAINNET_CACHE_URL: ${{ secrets.MAINNET_CACHE_URL_STAGING }}
71-
MAILCHIMP_ENDPOINT: ${{ secrets.MAILCHIMP_ENDPOINT }}
72-
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
73-
INFURA_PROJECT_ID: ${{ secrets.INFURA_PROJECT_ID_STAGING }}
74-
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
75-
BLOCKNATIVE_API_KEY: ${{ secrets.BLOCKNATIVE_API_KEY_STAGING }}
76-
SHOW_BUILD_INFO: 1
77-
NODE_ENV: production
78-
NEXT_PUBLIC_SENTRY_ENV: staging
79-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
80-
PRODUCT_HUB_KEY: ${{ secrets.PRODUCT_HUB_KEY }}
81-
ONE_INCH_API_KEY: ${{ secrets.ONE_INCH_API_KEY_STAGING }}
82-
ONE_INCH_API_URL: ${{ secrets.ONE_INCH_API_URL_STAGING }}
83-
REFERRAL_SUBGRAPH_URL: ${{ secrets.REFERRAL_SUBGRAPH_URL_STAGING }}
84-
run: yarn build
85-
8622
- name: Configure AWS credentials
8723
uses: aws-actions/configure-aws-credentials@v2
8824
with:
@@ -94,18 +30,51 @@ jobs:
9430
id: login-ecr
9531
uses: aws-actions/amazon-ecr-login@v1
9632

97-
- name: Build runner image
33+
- name: Extract commit hash
34+
id: vars
35+
shell: bash
36+
run: |
37+
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
38+
39+
- name: Build, tag, and push image to Amazon ECR
9840
id: build-image
9941
env:
10042
SHA_TAG: ${{ steps.vars.outputs.sha_short }}
10143
LATEST_TAG: latest
102-
ECR_REPO_NAME: summer-fi-staging
44+
ENVIRONMENT_TAG: staging
10345
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
46+
CONFIG_URL: ${{ secrets.CONFIG_URL }}
10447
run: |
10548
# Build a docker container and
10649
# push it to ECR so that it can
10750
# be deployed to ECS.
108-
docker build --cache-from=$ECR_REGISTRY/$ECR_REPO_NAME:$LATEST_TAG \
51+
docker build --build-arg COMMIT_SHA=${{ env.SHA_TAG }} \
52+
--build-arg NOTIFICATIONS_HOST=${{ secrets.NOTIFICATIONS_HOST_STAGING }} \
53+
--build-arg NOTIFICATIONS_HOST_GOERLI=${{ secrets.NOTIFICATIONS_HOST_STAGING_GOERLI }} \
54+
--build-arg AJNA_SUBGRAPH_URL=${{ secrets.AJNA_SUBGRAPH_URL_STAGING }} \
55+
--build-arg AJNA_SUBGRAPH_URL_GOERLI=${{ secrets.AJNA_SUBGRAPH_URL_GOERLI }} \
56+
--build-arg AJNA_SUBGRAPH_V2_URL=${{ secrets.AJNA_SUBGRAPH_V2_URL_STAGING }} \
57+
--build-arg AJNA_SUBGRAPH_V2_URL_GOERLI=${{ secrets.AJNA_SUBGRAPH_V2_URL_GOERLI }} \
58+
--build-arg MIXPANEL_ENV=staging \
59+
--build-arg MIXPANEL_KEY=${{ secrets.MIXPANEL_KEY_STAGING }} \
60+
--build-arg ADROLL_ADV_ID=${{ secrets.ADROLL_ADV_ID_STAGING }} \
61+
--build-arg ADROLL_PIX_ID=${{ secrets.ADROLL_PIX_ID_STAGING }} \
62+
--build-arg MAINNET_CACHE_URL=${{ secrets.MAINNET_CACHE_URL_STAGING }} \
63+
--build-arg MAILCHIMP_ENDPOINT=${{ secrets.MAILCHIMP_ENDPOINT }} \
64+
--build-arg MAILCHIMP_API_KEY=${{ secrets.MAILCHIMP_API_KEY }} \
65+
--build-arg INFURA_PROJECT_ID=${{ secrets.INFURA_PROJECT_ID_STAGING }} \
66+
--build-arg ETHERSCAN_API_KEY=${{ secrets.ETHERSCAN_API_KEY }} \
67+
--build-arg BLOCKNATIVE_API_KEY=${{ secrets.BLOCKNATIVE_API_KEY_STAGING }} \
68+
--build-arg SHOW_BUILD_INFO=1 \
69+
--build-arg NODE_ENV=production \
70+
--build-arg NEXT_PUBLIC_SENTRY_ENV=staging \
71+
--build-arg SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} \
72+
--build-arg PRODUCT_HUB_KEY=${{ secrets.PRODUCT_HUB_KEY }} \
73+
--build-arg ONE_INCH_API_KEY=${{ secrets.ONE_INCH_API_KEY_STAGING }} \
74+
--build-arg ONE_INCH_API_URL=${{ secrets.ONE_INCH_API_URL_STAGING }} \
75+
--build-arg REFERRAL_SUBGRAPH_URL=${{ secrets.REFERRAL_SUBGRAPH_URL_STAGING }} \
76+
--build-arg CONFIG_URL=${{ secrets.CONFIG_URL }} \
77+
--cache-from=$ECR_REGISTRY/$ECR_REPO_NAME:$LATEST_TAG \
10978
-t $ECR_REGISTRY/$ECR_REPO_NAME:$SHA_TAG \
11079
-t $ECR_REGISTRY/$ECR_REPO_NAME:$LATEST_TAG \
11180
-t $ECR_REGISTRY/$ECR_REPO_NAME:$ENVIRONMENT_TAG \
@@ -125,5 +94,5 @@ jobs:
12594

12695
- name: Invalidate CloudFront
12796
run:
128-
AWS_MAX_ATTEMPTS=10 aws cloudfront create-invalidation --distribution-id
129-
${{secrets.CF_DIST_ID_STAGING }} --paths "/*"
97+
AWS_MAX_ATTEMPTS=10 aws cloudfront create-invalidation --distribution-id ${{
98+
secrets.CF_DIST_ID_STAGING }} --paths "/*"

Dockerfile

+72-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,75 @@
1-
FROM node:18.18-alpine
1+
FROM node:18.12
2+
23
EXPOSE 3000
3-
COPY server/database /app/server/database
4-
WORKDIR /app/server/database
5-
RUN npm install
6-
WORKDIR /app
7-
COPY .next/static /app/.next/static
8-
COPY .next/standalone /app/.next/standalone
9-
COPY package.json yarn.lock next.config.js /app
10-
COPY public /app/public
4+
5+
COPY package.json /usr/src/app/package.json
6+
COPY yarn.lock /usr/src/app/yarn.lock
7+
COPY ./server/ /usr/src/app/server
8+
COPY ./scripts/get-config-types.js /usr/src/app/scripts/get-config-types.js
9+
COPY ./blockchain/abi/*.json /usr/src/app/blockchain/abi/
10+
11+
WORKDIR /usr/src/app
12+
13+
ARG CONFIG_URL=''
14+
ENV CONFIG_URL=$CONFIG_URL
15+
16+
RUN yarn --no-progress --non-interactive --frozen-lockfile
17+
18+
ARG COMMIT_SHA='' \
19+
NOTIFICATIONS_HOST='' \
20+
NOTIFICATIONS_HOST_GOERLI='' \
21+
AJNA_SUBGRAPH_URL='' \
22+
AJNA_SUBGRAPH_URL_GOERLI='' \
23+
AJNA_SUBGRAPH_V2_URL='' \
24+
AJNA_SUBGRAPH_V2_URL_GOERLI='' \
25+
MIXPANEL_ENV='' \
26+
MIXPANEL_KEY='' \
27+
ADROLL_ADV_ID='' \
28+
ADROLL_PIX_ID='' \
29+
MAINNET_CACHE_URL='' \
30+
SHOW_BUILD_INFO='' \
31+
ETHERSCAN_API_KEY='' \
32+
BLOCKNATIVE_API_KEY='' \
33+
INFURA_PROJECT_ID='' \
34+
NODE_ENV='' \
35+
NEXT_PUBLIC_SENTRY_ENV='' \
36+
SENTRY_AUTH_TOKEN='' \
37+
PRODUCT_HUB_KEY='' \
38+
ONE_INCH_API_KEY='' \
39+
ONE_INCH_API_URL='' \
40+
REFERRAL_SUBGRAPH_URL=''
41+
42+
ENV COMMIT_SHA=$COMMIT_SHA \
43+
NOTIFICATIONS_HOST=$NOTIFICATIONS_HOST \
44+
NOTIFICATIONS_HOST_GOERLI=$NOTIFICATIONS_HOST_GOERLI \
45+
AJNA_SUBGRAPH_URL=$AJNA_SUBGRAPH_URL \
46+
AJNA_SUBGRAPH_URL_GOERLI=$AJNA_SUBGRAPH_URL_GOERLI \
47+
AJNA_SUBGRAPH_V2_URL=$AJNA_SUBGRAPH_V2_URL \
48+
AJNA_SUBGRAPH_V2_URL_GOERLI=$AJNA_SUBGRAPH_V2_URL_GOERLI \
49+
MIXPANEL_ENV=$MIXPANEL_ENV \
50+
MIXPANEL_KEY=$MIXPANEL_KEY \
51+
ADROLL_ADV_ID=$ADROLL_ADV_ID \
52+
ADROLL_PIX_ID=$ADROLL_PIX_ID \
53+
MAINNET_CACHE_URL=$MAINNET_CACHE_URL \
54+
ETHERSCAN_API_KEY=$ETHERSCAN_API_KEY \
55+
BLOCKNATIVE_API_KEY=$BLOCKNATIVE_API_KEY \
56+
INFURA_PROJECT_ID=$INFURA_PROJECT_ID \
57+
USE_TERMS_OF_SERVICE=1 \
58+
USE_TRM_API=1 \
59+
SHOW_BUILD_INFO=$SHOW_BUILD_INFO \
60+
NODE_ENV=$NODE_ENV \
61+
SENTRY_RELEASE=$COMMIT_SHA \
62+
NEXT_PUBLIC_SENTRY_ENV=$NEXT_PUBLIC_SENTRY_ENV \
63+
SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN \
64+
PRODUCT_HUB_KEY=$PRODUCT_HUB_KEY \
65+
ONE_INCH_API_KEY=$ONE_INCH_API_KEY \
66+
ONE_INCH_API_URL=$ONE_INCH_API_URL \
67+
REFERRAL_SUBGRAPH_URL=$REFERRAL_SUBGRAPH_URL \
68+
NODE_OPTIONS=--max-old-space-size=6144
69+
70+
COPY . .
71+
72+
RUN chmod +x ./scripts/wait-for-it.sh \
73+
&& npm run build
1174

1275
CMD [ "npm", "run", "start:prod" ]

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"start": "yarn get-config-types && next dev",
1010
"get-config-types": "node scripts/get-config-types.js",
1111
"start:debug": "NODE_OPTIONS='--inspect' next dev",
12-
"start:prod": "npx ts-node server/database/migrate.ts && node .next/standalone/server.js",
12+
"start:prod": "yarn migrate && next start",
1313
"start:preview": "yarn build:8gb && next start -p 3000",
1414
"migrate": "npx ts-node server/database/migrate.ts",
1515
"prisma:introspect": "prisma introspect --schema=./server/database/schema.prisma",

0 commit comments

Comments
 (0)