From ae1b08569adac1bbb8063bd456ad2720c87af920 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 13:45:46 +0530 Subject: [PATCH 01/22] Try setting up heroku build --- Dockerfile | 21 +++++++++++++++++++++ heroku.yml | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 Dockerfile create mode 100644 heroku.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..93de444f1d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM node:19-alpine + +# Install Git +RUN apk update +RUN apk add git + +# Copy files over +WORKDIR /app +COPY contracts ./contracts +COPY dapp ./dapp + +# Build contract files +WORKDIR /app/contracts +RUN yarn install +RUN yarn deploy + +# Build DApp +WORKDIR /app/dapp +RUN yarn build + +CMD ["yarn", "start"] diff --git a/heroku.yml b/heroku.yml new file mode 100644 index 0000000000..8eec25b9c9 --- /dev/null +++ b/heroku.yml @@ -0,0 +1,3 @@ +build: + docker: + web: Dockerfile From 314c8a576c4ea2dc77f0b7d187f5af10b8d0723d Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 13:48:17 +0530 Subject: [PATCH 02/22] Add root package.json for buildpack detection --- package.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 0000000000..1491f4f1d7 --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "name": "ousd", + "version": "0.1.0", + "description": "Origin Dollar", + "author": "Origin Protocol ", + "license": "MIT" +} \ No newline at end of file From 1e6c363816d4267d15e0dce42268ead8c59b1ae8 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 13:54:41 +0530 Subject: [PATCH 03/22] Update Dockerfile --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 93de444f1d..1c83c31a0f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,8 @@ FROM node:19-alpine # Install Git RUN apk update RUN apk add git +git config --global --unset http.proxy +git config --global --unset https.proxy # Copy files over WORKDIR /app From 6e7e2bb3c38a109847d3eca587fcc1d5b9d5baff Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 13:55:21 +0530 Subject: [PATCH 04/22] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1c83c31a0f..35c2cbc7e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,8 @@ FROM node:19-alpine # Install Git RUN apk update RUN apk add git -git config --global --unset http.proxy -git config --global --unset https.proxy +RUN git config --global --unset http.proxy +RUN git config --global --unset https.proxy # Copy files over WORKDIR /app From 146c9832e0621e44ab396bdd819c1c6afa5857a3 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 13:59:18 +0530 Subject: [PATCH 05/22] Use Node.js v16 --- Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 35c2cbc7e2..9d3bbf1061 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,8 @@ -FROM node:19-alpine +FROM node:16-alpine # Install Git RUN apk update RUN apk add git -RUN git config --global --unset http.proxy -RUN git config --global --unset https.proxy # Copy files over WORKDIR /app From c2e0f66519d241a97016484215cc9de06c513e32 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 14:29:46 +0530 Subject: [PATCH 06/22] Build docker images using Github actions --- .github/workflows/node.js.yml | 33 --------------------------------- .github/workflows/ousd.yml | 21 ++++++++++++++++++++- 2 files changed, 20 insertions(+), 34 deletions(-) delete mode 100644 .github/workflows/node.js.yml diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml deleted file mode 100644 index 2bec57f9d5..0000000000 --- a/.github/workflows/node.js.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Run tests -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [14.x] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: Install dependencies - run: sudo apt update && sudo apt-get install -y libudev-dev libusb-1.0-0-dev - - run: yarn install - working-directory: ./contracts - - run: yarn run lint - working-directory: ./contracts - - run: yarn prettier:check - working-directory: ./contracts - - run: yarn run test - working-directory: ./contracts - - run: yarn install - working-directory: ./dapp - - run: yarn prettier:check - working-directory: ./dapp diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 40417d290c..6032deb540 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -146,4 +146,23 @@ jobs: env: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} with: - args: --severity-threshold=high --all-projects \ No newline at end of file + args: --severity-threshold=high --all-projects + + build-image: + name: "Build Image for Deployment" + runs-on: ubuntu-latest + env: + HEROKU_TOKEN: ${{ secrets.HEROKU_TOKEN }} + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Run Docker Login + run: docker login --username =_ --password=$(HEROKU_TOKEN) registry.heroku.com + - name: Build Image + uses: docker/build-push-action@v3 + with: + context: . + push: true + tag: registry.heroku.com/ousd-dapp-staging/web \ No newline at end of file From 877f4c61df54abc62593f804874246b8f1405e90 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 14:32:34 +0530 Subject: [PATCH 07/22] Fix actions --- .github/workflows/ousd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 6032deb540..32227236ce 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -159,7 +159,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Run Docker Login - run: docker login --username =_ --password=$(HEROKU_TOKEN) registry.heroku.com + run: docker login --username =_ --password=$HEROKU_TOKEN registry.heroku.com - name: Build Image uses: docker/build-push-action@v3 with: From 934746517deeb8a72a1f2eec8d4ddd04cf2345a5 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 14:33:41 +0530 Subject: [PATCH 08/22] Fix actions --- .github/workflows/ousd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 32227236ce..ae9fba49c7 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -165,4 +165,4 @@ jobs: with: context: . push: true - tag: registry.heroku.com/ousd-dapp-staging/web \ No newline at end of file + tags: registry.heroku.com/ousd-dapp-staging/web \ No newline at end of file From 1bb67c9617471add4bc0ff328c8ec0e5c353953f Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 14:35:47 +0530 Subject: [PATCH 09/22] Remove docker context --- .github/workflows/ousd.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index ae9fba49c7..a6f4760381 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -163,6 +163,5 @@ jobs: - name: Build Image uses: docker/build-push-action@v3 with: - context: . push: true tags: registry.heroku.com/ousd-dapp-staging/web \ No newline at end of file From a8215faf7941fd75104d5b501840c28be0dac96b Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 14:48:15 +0530 Subject: [PATCH 10/22] Fix deps --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 9d3bbf1061..da32533d50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,6 +16,7 @@ RUN yarn deploy # Build DApp WORKDIR /app/dapp +RUN yarn install RUN yarn build CMD ["yarn", "start"] From 5d1de6dc6ae8fd12d9f5db1ba266d6c090ce84f4 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 14:59:42 +0530 Subject: [PATCH 11/22] Fix push bug --- .github/workflows/ousd.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index a6f4760381..5687ad4017 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -164,4 +164,5 @@ jobs: uses: docker/build-push-action@v3 with: push: true - tags: registry.heroku.com/ousd-dapp-staging/web \ No newline at end of file + tags: registry.heroku.com/ousd-dapp-staging/web + provenance: false \ No newline at end of file From 0e1defa5dd6e029c1f135e887690056d8efe61d9 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 15:24:31 +0530 Subject: [PATCH 12/22] Fix port --- dapp/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dapp/package.json b/dapp/package.json index 1b0aff6814..67aad23be2 100644 --- a/dapp/package.json +++ b/dapp/package.json @@ -13,7 +13,7 @@ "ipfs-export": "DEPLOY_MODE=ipfs yarn run build && next export", "start": "per-env", "start:development": "NODE_ENV=development ETHEREUM_RPC_PROVIDER=http://localhost:8545 next dev", - "start:production": "NODE_ENV=production next start -p 8080", + "start:production": "NODE_ENV=production next start", "gcp-build": "next build", "encrypt-secrets:prod": "gcloud kms encrypt --ciphertext-file=prod.secrets.enc --plaintext-file=prod.env --location=global --keyring=origin --key=cloudbuild", "decrypt-secrets:prod": "gcloud kms decrypt --ciphertext-file=prod.secrets.enc --plaintext-file=prod.env --location=global --keyring=origin --key=cloudbuild", From eda53f2503bc52ddceb6831d5ee2018500333f67 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Mon, 23 Jan 2023 15:33:48 +0530 Subject: [PATCH 13/22] Fix port --- dapp/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dapp/package.json b/dapp/package.json index 67aad23be2..fcabc2bef1 100644 --- a/dapp/package.json +++ b/dapp/package.json @@ -13,7 +13,7 @@ "ipfs-export": "DEPLOY_MODE=ipfs yarn run build && next export", "start": "per-env", "start:development": "NODE_ENV=development ETHEREUM_RPC_PROVIDER=http://localhost:8545 next dev", - "start:production": "NODE_ENV=production next start", + "start:production": "NODE_ENV=production next start -p $PORT", "gcp-build": "next build", "encrypt-secrets:prod": "gcloud kms encrypt --ciphertext-file=prod.secrets.enc --plaintext-file=prod.env --location=global --keyring=origin --key=cloudbuild", "decrypt-secrets:prod": "gcloud kms decrypt --ciphertext-file=prod.secrets.enc --plaintext-file=prod.env --location=global --keyring=origin --key=cloudbuild", From a857c4c5814704ed1f2a76416878cbebd99d6d30 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 20:23:06 +0530 Subject: [PATCH 14/22] Tweak image building step --- .github/workflows/ousd.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 5687ad4017..78b784dbd3 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -149,10 +149,14 @@ jobs: args: --severity-threshold=high --all-projects build-image: - name: "Build Image for Deployment" + name: "Build Release Image" runs-on: ubuntu-latest env: HEROKU_TOKEN: ${{ secrets.HEROKU_TOKEN }} + CURR_BRANCH: ${{ github.ref_name }} + with: + # TODO: Remove `shah/heroku-deploy` branch after merging PR + if: ${{ contains(fromJSON('["shah/heroku-deploy", "master", "staging", "stable"]'), github.ref_name) }} steps: - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -160,9 +164,20 @@ jobs: uses: docker/setup-buildx-action@v2 - name: Run Docker Login run: docker login --username =_ --password=$HEROKU_TOKEN registry.heroku.com - - name: Build Image + - name: Identify Heroku App Name + shell: bash + run: + if [[ $CURR_BRANCH == "stable" ]]; then + echo "HEROKU_APP_NAME=ousd-dapp-prod" >> $GITHUB_ENV; + else + echo "HEROKU_APP_NAME=ousd-dapp-staging" >> $GITHUB_ENV; + fi; + id: heroku_app + - name: Build and Push uses: docker/build-push-action@v3 + # TODO: Remove `shah/heroku-deploy` branch after merging PR + if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} with: push: true - tags: registry.heroku.com/ousd-dapp-staging/web + tags: registry.heroku.com/${{env.HEROKU_APP_NAME}}/web provenance: false \ No newline at end of file From 4be64a0343c576e3be634406de3fb460089c7f64 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 20:25:05 +0530 Subject: [PATCH 15/22] Fix workflow --- .github/workflows/ousd.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 78b784dbd3..873d3bffe5 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -154,7 +154,6 @@ jobs: env: HEROKU_TOKEN: ${{ secrets.HEROKU_TOKEN }} CURR_BRANCH: ${{ github.ref_name }} - with: # TODO: Remove `shah/heroku-deploy` branch after merging PR if: ${{ contains(fromJSON('["shah/heroku-deploy", "master", "staging", "stable"]'), github.ref_name) }} steps: From c0a9bd68d3411d7415922ae01c71f6d2ec89b583 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 20:54:41 +0530 Subject: [PATCH 16/22] Deploy and push in Actions --- .github/workflows/ousd.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 873d3bffe5..c2a082f299 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -179,4 +179,15 @@ jobs: with: push: true tags: registry.heroku.com/${{env.HEROKU_APP_NAME}}/web - provenance: false \ No newline at end of file + provenance: false + - name: Heroku Login + uses: akhileshns/heroku-deploy@v3.12.12 + if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} + with: + justlogin: true + heroku_api_key: ${{secrets.HEROKU_TOKEN}} + heroku_app_name: ${{env.HEROKU_APP_NAME}} + heroku_email: ${{secrets.HEROKU_EMAIL}} + - name: Deploy + if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} + run: heroku container:release web \ No newline at end of file From db00b6ddaba69b8a8b9dfcad54f87b47cc0065c0 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 21:10:40 +0530 Subject: [PATCH 17/22] Fix workflow --- .github/workflows/ousd.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index c2a082f299..b97ca68f0f 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -188,6 +188,8 @@ jobs: heroku_api_key: ${{secrets.HEROKU_TOKEN}} heroku_app_name: ${{env.HEROKU_APP_NAME}} heroku_email: ${{secrets.HEROKU_EMAIL}} - - name: Deploy + - name: Deploy to Heroku if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} - run: heroku container:release web \ No newline at end of file + env: + HEROKU_APP_NAME: ${{env.HEROKU_APP_NAME}} + run: heroku container:release web -a $HEROKU_APP_NAME \ No newline at end of file From 662a14a131f1c2f3a937b29794ece9ce55d169b3 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 21:22:46 +0530 Subject: [PATCH 18/22] Cleanup --- .github/workflows/ousd.yml | 4 +++- package.json | 7 ------- 2 files changed, 3 insertions(+), 8 deletions(-) delete mode 100644 package.json diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index b97ca68f0f..681474caf1 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -149,8 +149,10 @@ jobs: args: --severity-threshold=high --all-projects build-image: - name: "Build Release Image" + name: "Deploy App" runs-on: ubuntu-latest + # TODO: Add contracts-forktest when it's all green on master + needs: [contracts-lint, contracts-test, dapp-lint, slither] env: HEROKU_TOKEN: ${{ secrets.HEROKU_TOKEN }} CURR_BRANCH: ${{ github.ref_name }} diff --git a/package.json b/package.json deleted file mode 100644 index 1491f4f1d7..0000000000 --- a/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "ousd", - "version": "0.1.0", - "description": "Origin Dollar", - "author": "Origin Protocol ", - "license": "MIT" -} \ No newline at end of file From 96c66281cc13f4c6cc8863b4020b4c9e2981e4a6 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 21:24:08 +0530 Subject: [PATCH 19/22] Remove unnecessary deps --- .github/workflows/ousd.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 681474caf1..0b1aa93259 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -151,8 +151,7 @@ jobs: build-image: name: "Deploy App" runs-on: ubuntu-latest - # TODO: Add contracts-forktest when it's all green on master - needs: [contracts-lint, contracts-test, dapp-lint, slither] + needs: [contracts-lint, dapp-lint] env: HEROKU_TOKEN: ${{ secrets.HEROKU_TOKEN }} CURR_BRANCH: ${{ github.ref_name }} From 6c5f793d7a56ba5bf03b5d8f3970fbba6af10c44 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Thu, 26 Jan 2023 21:39:13 +0530 Subject: [PATCH 20/22] Remove GAE related code --- cloudbuild-staging.yaml | 53 --------------------------------------- cloudbuild.yaml | 53 --------------------------------------- dapp/package.json | 7 ------ dapp/prod.app.yaml | 14 ----------- dapp/prod.secrets.enc | Bin 2300 -> 0 bytes dapp/service.yaml | 0 dapp/staging.app.yaml | 13 ---------- dapp/staging.secrets.enc | Bin 2274 -> 0 bytes 8 files changed, 140 deletions(-) delete mode 100644 cloudbuild-staging.yaml delete mode 100644 cloudbuild.yaml delete mode 100644 dapp/prod.app.yaml delete mode 100644 dapp/prod.secrets.enc delete mode 100644 dapp/service.yaml delete mode 100644 dapp/staging.app.yaml delete mode 100644 dapp/staging.secrets.enc diff --git a/cloudbuild-staging.yaml b/cloudbuild-staging.yaml deleted file mode 100644 index 17afa70035..0000000000 --- a/cloudbuild-staging.yaml +++ /dev/null @@ -1,53 +0,0 @@ -steps: -- id: 'Decrypt secrets required for deployment' - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' - dir: ./dapp - entrypoint: gcloud - args: - - kms - - decrypt - - --ciphertext-file=./staging.secrets.enc - - --plaintext-file=./deploy.env - - --location=global - - --keyring=origin - - --key=cloudbuild - -- id: 'Set larger timeout' - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' - dir: ./dapp - entrypoint: gcloud - args: - - config - - set - - app/cloud_build_timeout - - "3200" - -- id: 'Install contract dependencies' - name: 'node:16' - dir: ./contracts - entrypoint: yarn - args: ['install'] - -- id: 'Generate ABIs and copy to dapp folder' - name: 'node:16' - dir: ./contracts - entrypoint: yarn - args: ['run', 'deploy'] - -- id: 'Install dapp dependencies' - name: 'node:16' - dir: ./dapp - entrypoint: yarn - args: ['install'] - -- id: 'Deploy the app' - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' - dir: ./dapp - entrypoint: gcloud - args: - - app - - deploy - - staging.app.yaml - - --quiet - -timeout: "3200s" diff --git a/cloudbuild.yaml b/cloudbuild.yaml deleted file mode 100644 index 496f3a9d62..0000000000 --- a/cloudbuild.yaml +++ /dev/null @@ -1,53 +0,0 @@ -steps: -- id: 'Decrypt secrets required for deployment' - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' - dir: ./dapp - entrypoint: gcloud - args: - - kms - - decrypt - - --ciphertext-file=./prod.secrets.enc - - --plaintext-file=./deploy.env - - --location=global - - --keyring=origin - - --key=cloudbuild - -- id: 'Set larger timeout' - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' - dir: ./dapp - entrypoint: gcloud - args: - - config - - set - - app/cloud_build_timeout - - "3200" - -- id: 'Install contract dependencies' - name: 'node:16' - dir: ./contracts - entrypoint: yarn - args: ['install'] - -- id: 'Generate ABIs and copy to dapp folder' - name: 'node:16' - dir: ./contracts - entrypoint: yarn - args: ['run', 'deploy'] - -- id: 'Install dapp dependencies' - name: 'node:16' - dir: ./dapp - entrypoint: yarn - args: ['install'] - -- id: 'Deploy the app' - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' - dir: ./dapp - entrypoint: gcloud - args: - - app - - deploy - - prod.app.yaml - - --quiet - -timeout: "3200s" diff --git a/dapp/package.json b/dapp/package.json index fcabc2bef1..d23b8f8990 100644 --- a/dapp/package.json +++ b/dapp/package.json @@ -14,13 +14,6 @@ "start": "per-env", "start:development": "NODE_ENV=development ETHEREUM_RPC_PROVIDER=http://localhost:8545 next dev", "start:production": "NODE_ENV=production next start -p $PORT", - "gcp-build": "next build", - "encrypt-secrets:prod": "gcloud kms encrypt --ciphertext-file=prod.secrets.enc --plaintext-file=prod.env --location=global --keyring=origin --key=cloudbuild", - "decrypt-secrets:prod": "gcloud kms decrypt --ciphertext-file=prod.secrets.enc --plaintext-file=prod.env --location=global --keyring=origin --key=cloudbuild", - "decrypt-secrets-deploy:prod": "gcloud kms decrypt --ciphertext-file=prod.secrets.enc --plaintext-file=deploy.env --location=global --keyring=origin --key=cloudbuild", - "encrypt-secrets:staging": "gcloud kms encrypt --ciphertext-file=staging.secrets.enc --plaintext-file=staging.env --location=global --keyring=origin --key=cloudbuild", - "decrypt-secrets:staging": "gcloud kms decrypt --ciphertext-file=staging.secrets.enc --plaintext-file=staging.env --location=global --keyring=origin --key=cloudbuild", - "decrypt-secrets-deploy:staging": "gcloud kms decrypt --ciphertext-file=staging.secrets.enc --plaintext-file=deploy.env --location=global --keyring=origin --key=cloudbuild", "fbt:manifest": "node -r @babel/register node_modules/babel-plugin-fbt/dist/bin/manifest --src src pages", "fbt:collect": "node -r @babel/register node_modules/babel-plugin-fbt/dist/bin/collectFBT --manifest --pretty < .src_manifest.json > .source_strings.json", "fbt:translate": "node -r @babel/register node_modules/babel-plugin-fbt/dist/bin/translate.js --translations translation/fbt/*.json --jenkins --pretty > .translated_fbts.json", diff --git a/dapp/prod.app.yaml b/dapp/prod.app.yaml deleted file mode 100644 index b17331405a..0000000000 --- a/dapp/prod.app.yaml +++ /dev/null @@ -1,14 +0,0 @@ -runtime: nodejs -env: flex -instance_class: B2 -manual_scaling: - instances: 3 -service: ousd-prod -handlers: -- url: /.* - secure: always - redirect_http_response_code: 301 - script: auto -readiness_check: - app_start_timeout_sec: 600 - \ No newline at end of file diff --git a/dapp/prod.secrets.enc b/dapp/prod.secrets.enc deleted file mode 100644 index 5532ffff1ff4b288c538bd50c720bd616d2ead94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2300 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 Wd=59Q(LLgz+hsBFtKh+vky!}?XmLsa diff --git a/dapp/service.yaml b/dapp/service.yaml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/dapp/staging.app.yaml b/dapp/staging.app.yaml deleted file mode 100644 index c93d648aa5..0000000000 --- a/dapp/staging.app.yaml +++ /dev/null @@ -1,13 +0,0 @@ -runtime: nodejs -env: flex -instance_class: F2 -service: ousd-staging -handlers: -- url: /.* - secure: always - redirect_http_response_code: 301 - script: auto -env_variables: - STAGING: "true" -readiness_check: - app_start_timeout_sec: 600 diff --git a/dapp/staging.secrets.enc b/dapp/staging.secrets.enc deleted file mode 100644 index f209d9e9a5f202248d47eec3a6bbb83be939bb31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2274 zcmV<82p#tdB>>p2&6?g@H3TE}>u1>U#`#(b-2~lGPE2DdL>gmrN67~mC6^Mo5dfSm z6+}F2?EAzmEsglD&38o7$zhMDm^}P=P#%OB{7PJUeze3Z!!2V$Ak96+Df6h~w^>HH zzwE~R4fD0c%-dQLV(1S32M@Yg;3D9Wz0@LN`M%9&KiL@CX$fT5gC_6W>P+74H^&6$ zXz6jieHOCA9VzeZryU0Z%p&3SO)oLj1+z{xOmKJImv{vDJ`_muUo?b$*Bi1X=D>F% zY`4$HNk%<-e*1uDEWnWo;wFqwGw8)@V|AW*+DOSGM_edOx6_pF6BPT(7FSeECH5Y# zV;&R%wHZj3j%%_PvpXkUCa2faA?w}S_EY999aezFtld5$Xmkqqi4dfqUU`;V4)kQ7 zPXJ5!Lj@zwWMjeBVdhNHVjplQ7PPj{cRxCf`4A945Hy3de{G1((g>RU%rMef-BCXM z2W#%5`s86#P*MkLLq`rR}I1t>x9rR-1 zuyK0%uZ!e+tMN4~48#AK7?#$#Ya%7PR(Zs^DPZ8|i9_jg#PfaBHC^{ImL60=>Pzvd z6+{kBX%Ay0=fJfneeK)6m&P$?)ao@(`@geF(4+J(3xz|ub5ziHE$?TkwftX{kH-87 zy;4KA$LF8RP$-Yb{@{k6%tj+|g`qnMxDDAu)HI4wsBO|$Nw z3xOIJHeeS~aAN-W0;)EasCdUfynGVaOXhblZgcz&zMjOg%1sE})dBGZIT)5@;|-%I zh&~P?ghuNs9=+Cv-e`p~N5oSiBUJylo=coOf0THY><4J~GKJy_57q~QkjOD}Z8zK? zMZuvDJ#>lJ<<$!CT%6}98r&~(9s5rk%DH6A5a$Ick<;6!dH zP!_?Q-i@zUZ3#@r&Uoy&Heev}A+{&f=M=eYQ}35-`8Z&Esmg^EPcAYd8O)7A@d$ny z3`*B-9J{2i9`yai`;FOA#A5 zjCzmGF*K|^K(MCK1MW`vwn&?mfc>x<=CBp(L(-%by;xmp^k-ZK!u1D06G&c@B;D3p7^GwKHvYF~>OFV=t4r zA}f+k{aXp0S3p4Lymyzsw-@&HI*-E_SP*k%|7@&WBQ>?ogR8oE)kc}_NtM0?&!moF z_Y@a;klMS~HMH{sl!hW2C@eH*;EW#khuGySDb)YJe+aTFF|+ZPuUY#yHeh>D&a|dh z<^4WKl!tYq2-;A1Q_-&3ZC|G{0YWSAl2OGn4}#+R3udPVC7X3(7WJiEkh4dZ649sn3beiFcxt&2uce~tFNH}#uJGvK%t$75>Lt^zC2iQ!S%|&^680n5GglL+u6s~m zo8*Cf6Dw+j{m^i76a>6UL%RKfQOyYdv@S6MBFTj8o<9*LhMjj1w+Y`mHf^E*>L?N1 z&TSb(?Jj!ip3{FSg4(RMJT3#}faYtI+qKE%&sDzUEu9{fwi5;3#nYn5?^y8_C<7g0 z8JC0Js#w+qamZ46TJ4KsV}c{@6MA&7`bP7HAm^~IvO~%8>XT6{fEt9;&G_u8xyR8I z$<|JCHP=87Tg{icvo2t7Et~36>Ewf;U@|%loG2gZQ9tg>!b2B=$vUpmY~BU!y2+Na zC|F9+R3rM^Rpptg9PufYeVB%+@1?iJp;~e{P}SRDfpUEjAZD<*TgyKol71}fD}ixd ziHa+~J_d`^#m9v<%Qkj>#UgCh)8v8JtK$ZS>UZ*LcUz@h=tTBEsJnbR65!V$H7Zmt z7@YiR+~Y@Nzu5FD&(wU$^I Date: Fri, 27 Jan 2023 08:09:21 +0530 Subject: [PATCH 21/22] Extract env before build --- .github/workflows/ousd.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index 0b1aa93259..cb0a9a0cc8 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -173,22 +173,29 @@ jobs: echo "HEROKU_APP_NAME=ousd-dapp-staging" >> $GITHUB_ENV; fi; id: heroku_app - - name: Build and Push - uses: docker/build-push-action@v3 - # TODO: Remove `shah/heroku-deploy` branch after merging PR - if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} - with: - push: true - tags: registry.heroku.com/${{env.HEROKU_APP_NAME}}/web - provenance: false - name: Heroku Login uses: akhileshns/heroku-deploy@v3.12.12 + # TODO: Remove `shah/heroku-deploy` branch after merging PR if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} with: justlogin: true heroku_api_key: ${{secrets.HEROKU_TOKEN}} heroku_app_name: ${{env.HEROKU_APP_NAME}} heroku_email: ${{secrets.HEROKU_EMAIL}} + - name: Extract Deployment Env + env: + HEROKU_APP_NAME: ${{env.HEROKU_APP_NAME}} + run: heroku config -s -a $HEROKU_APP_NAME > deploy.env + - name: Build and Push + uses: docker/build-push-action@v3 + # TODO: Remove `shah/heroku-deploy` branch after merging PR + if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} + env: + NODE_ENV: production + with: + push: true + tags: registry.heroku.com/${{env.HEROKU_APP_NAME}}/web + provenance: false - name: Deploy to Heroku if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} env: From 970846ca6fa6110800172eedf7c44dc80f595d17 Mon Sep 17 00:00:00 2001 From: Shahul Hameed Date: Fri, 27 Jan 2023 08:11:32 +0530 Subject: [PATCH 22/22] Undo last commit --- .github/workflows/ousd.yml | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ousd.yml b/.github/workflows/ousd.yml index cb0a9a0cc8..0b1aa93259 100644 --- a/.github/workflows/ousd.yml +++ b/.github/workflows/ousd.yml @@ -173,29 +173,22 @@ jobs: echo "HEROKU_APP_NAME=ousd-dapp-staging" >> $GITHUB_ENV; fi; id: heroku_app - - name: Heroku Login - uses: akhileshns/heroku-deploy@v3.12.12 - # TODO: Remove `shah/heroku-deploy` branch after merging PR - if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} - with: - justlogin: true - heroku_api_key: ${{secrets.HEROKU_TOKEN}} - heroku_app_name: ${{env.HEROKU_APP_NAME}} - heroku_email: ${{secrets.HEROKU_EMAIL}} - - name: Extract Deployment Env - env: - HEROKU_APP_NAME: ${{env.HEROKU_APP_NAME}} - run: heroku config -s -a $HEROKU_APP_NAME > deploy.env - name: Build and Push uses: docker/build-push-action@v3 # TODO: Remove `shah/heroku-deploy` branch after merging PR if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} - env: - NODE_ENV: production with: push: true tags: registry.heroku.com/${{env.HEROKU_APP_NAME}}/web provenance: false + - name: Heroku Login + uses: akhileshns/heroku-deploy@v3.12.12 + if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} + with: + justlogin: true + heroku_api_key: ${{secrets.HEROKU_TOKEN}} + heroku_app_name: ${{env.HEROKU_APP_NAME}} + heroku_email: ${{secrets.HEROKU_EMAIL}} - name: Deploy to Heroku if: ${{ contains(fromJSON('["shah/heroku-deploy", "staging", "stable"]'), github.ref_name) }} env: