Skip to content

Commit 75690fe

Browse files
committed
ci: refactor deployment pipelines and add manual deployment workflow for app whitelist
1 parent b8b70d8 commit 75690fe

File tree

2 files changed

+67
-100
lines changed

2 files changed

+67
-100
lines changed

.drone.yml

Lines changed: 0 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -758,106 +758,6 @@ steps:
758758
branch:
759759
- main
760760

761-
---
762-
#pipeline to deploy app whitelist on iexec
763-
kind: pipeline
764-
type: docker
765-
name: protected-data-delivery-dapp deploy whitelist
766-
767-
trigger:
768-
event:
769-
- promote
770-
target:
771-
# deploy a whitelist for the protected-data-delivery-dapp on the staging env
772-
- protected-data-delivery-dapp-deploy-app-whitelist-staging
773-
# deploy a whitelist for the protected-data-delivery-dapp on the prod env
774-
- protected-data-delivery-dapp-deploy-app-whitelist-prod
775-
branch:
776-
- develop
777-
- main
778-
779-
steps:
780-
- name: install deps
781-
image: node:18.19
782-
pull: always
783-
commands:
784-
- cd packages/protected-data-delivery-dapp/deployment
785-
- npm ci
786-
787-
- name: create app whitelist prod
788-
image: node:18.19
789-
pull: always
790-
environment:
791-
ENV: prod
792-
WALLET_PRIVATE_KEY:
793-
from_secret: protectedDataSharing-dapp-prod-privatekey
794-
commands:
795-
- cd packages/protected-data-delivery-dapp/deployment
796-
- npm run create-app-whitelist
797-
when:
798-
target:
799-
- protected-data-delivery-dapp-deploy-app-whitelist-prod
800-
branch:
801-
- main
802-
803-
- name: create app whitelist staging
804-
image: node:18.19
805-
pull: always
806-
environment:
807-
ENV: staging
808-
WALLET_PRIVATE_KEY:
809-
from_secret: protectedDataSharing-dapp-dev-privatekey
810-
commands:
811-
- cd packages/protected-data-delivery-dapp/deployment
812-
- npm run create-app-whitelist
813-
when:
814-
target:
815-
- protected-data-delivery-dapp-deploy-app-whitelist-staging
816-
branch:
817-
- develop
818-
819-
- name: update prod env
820-
image: node:18.19
821-
environment:
822-
ENV: prod
823-
commands:
824-
- cd environments
825-
- KEY=protectedDataDeliveryWhitelistAddress VALUE=$(cat ../packages/protected-data-delivery-dapp/deployment/.app-whitelist-address) npm run update-env
826-
- git add environments.json
827-
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
828-
when:
829-
target:
830-
- protected-data-delivery-dapp-deploy-app-whitelist-prod
831-
branch:
832-
- main
833-
834-
- name: update staging env
835-
image: node:18.19
836-
environment:
837-
ENV: staging
838-
commands:
839-
- cd environments
840-
- KEY=protectedDataDeliveryWhitelistAddress VALUE=$(cat ../packages/protected-data-delivery-dapp/deployment/.app-whitelist-address) npm run update-env
841-
- git add environments.json
842-
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
843-
when:
844-
target:
845-
- protected-data-delivery-dapp-deploy-app-whitelist-staging
846-
branch:
847-
- develop
848-
849-
- name: git-push
850-
image: appleboy/drone-git-push
851-
settings:
852-
remote: ssh://[email protected]/iExecBlockchainComputing/dataprotector-sdk.git
853-
branch: update-env-${DRONE_BUILD_NUMBER}
854-
ssh_key:
855-
from_secret: ssh-key-team-product-github-push
856-
when:
857-
target:
858-
- protected-data-delivery-dapp-deploy-app-whitelist-staging
859-
- protected-data-delivery-dapp-deploy-app-whitelist-prod
860-
861761
---
862762
# dapp content-creator: build non-scone (non-tee) docker image & publish on docker-regis (dev)
863763
kind: pipeline

.github/workflows/deploy-dapp.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Deploy App Whitelist on iExec
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
target:
7+
description: 'Select deployment target'
8+
required: true
9+
default: staging
10+
type: choice
11+
options:
12+
- staging
13+
- prod
14+
15+
jobs:
16+
deploy-app-whitelist:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: 18
24+
25+
- name: Install Dependencies
26+
working-directory: packages/protected-data-delivery-dapp/deployment
27+
run: npm ci
28+
29+
- name: Create App Whitelist (Staging)
30+
if: ${{ github.event.inputs.target == 'staging' }}
31+
working-directory: packages/protected-data-delivery-dapp/deployment
32+
run: npm run create-app-whitelist
33+
env:
34+
ENV: staging
35+
WALLET_PRIVATE_KEY: ${{ secrets.PROTECTED_DAPP_DEV_PRIVATEKEY }}
36+
37+
- name: Create App Whitelist (Prod)
38+
if: ${{ github.event.inputs.target == 'prod' }}
39+
working-directory: packages/protected-data-delivery-dapp/deployment
40+
run: npm run create-app-whitelist
41+
env:
42+
ENV: prod
43+
WALLET_PRIVATE_KEY: ${{ secrets.PROTECTED_DAPP_PROD_PRIVATEKEY }}
44+
45+
- name: Update Environment File (Staging)
46+
if: ${{ github.event.inputs.target == 'staging' }}
47+
working-directory: environments
48+
run: |
49+
KEY=protectedDataDeliveryWhitelistAddress VALUE=$(cat ../packages/protected-data-delivery-dapp/deployment/.app-whitelist-address) npm run update-env
50+
git add environments.json
51+
git commit -m "Deploy staging whitelist - ${{ github.sha }}" --author="drone-product <[email protected]>" || echo "No changes to commit"
52+
53+
- name: Update Environment File (Prod)
54+
if: ${{ github.event.inputs.target == 'prod' }}
55+
working-directory: environments
56+
run: |
57+
KEY=protectedDataDeliveryWhitelistAddress VALUE=$(cat ../packages/protected-data-delivery-dapp/deployment/.app-whitelist-address) npm run update-env
58+
git add environments.json
59+
git commit -m "Deploy prod whitelist - ${{ github.sha }}" --author="drone-product <[email protected]>" || echo "No changes to commit"
60+
61+
- name: Setup SSH for Git Push
62+
uses: webfactory/[email protected]
63+
with:
64+
ssh-private-key: ${{ secrets.SSH_KEY_TEAM_PRODUCT_GITHUB_PUSH }}
65+
66+
- name: Git Push Environment Update
67+
run: git push ssh://[email protected]/iExecBlockchainComputing/dataprotector-sdk.git HEAD:update-env-${{ github.run_number }}

0 commit comments

Comments
 (0)