Skip to content

Commit 1eb0846

Browse files
committed
ci: refactor deployment pipelines and add GitHub Actions workflow for Dapp deployment
1 parent b8b70d8 commit 1eb0846

File tree

2 files changed

+146
-335
lines changed

2 files changed

+146
-335
lines changed

.drone.yml

Lines changed: 0 additions & 335 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
@@ -971,241 +871,6 @@ steps:
971871
- protected-data-delivery-dapp-docker-non-tee-staging
972872
- protected-data-delivery-dapp-docker-non-tee-prod
973873

974-
---
975-
#pipeline to deploy dapp on iexec
976-
kind: pipeline
977-
type: docker
978-
name: protected-data-delivery-dapp deploy iexec dapp
979-
980-
trigger:
981-
event:
982-
- promote
983-
target:
984-
# deploy the tee protected-data-delivery-dapp add it to the staging app whitelist and register the ENS for staging environment
985-
- protected-data-delivery-dapp-deploy-staging
986-
# deploy the tee protected-data-delivery-dapp add it to the prod app whitelist and register the ENS for prod environment
987-
- protected-data-delivery-dapp-deploy-prod
988-
branch:
989-
- develop
990-
- main
991-
992-
steps:
993-
- name: install deps
994-
image: node:18.19
995-
pull: always
996-
commands:
997-
- cd packages/protected-data-delivery-dapp/deployment
998-
- npm ci
999-
1000-
- name: format
1001-
image: node:18.19
1002-
commands:
1003-
- cd packages/protected-data-delivery-dapp/deployment
1004-
- npm run check-format
1005-
1006-
- name: lint
1007-
image: node:18.19
1008-
commands:
1009-
- cd packages/protected-data-delivery-dapp/deployment
1010-
- npm run lint
1011-
1012-
- name: get scone fingerprint (prod)
1013-
# /!\: maintain the version here
1014-
image: iexechub/protected-data-delivery-dapp:1.0.0-sconify-5.7.5-v12-production
1015-
commands:
1016-
- SCONE_HASH=1 node > packages/protected-data-delivery-dapp/deployment/.scone-fingerprint
1017-
when:
1018-
target:
1019-
- protected-data-delivery-dapp-deploy-prod
1020-
branch:
1021-
- main
1022-
1023-
- name: deploy dapp prod
1024-
image: node:18.19
1025-
pull: always
1026-
environment:
1027-
ENV: prod
1028-
WALLET_PRIVATE_KEY:
1029-
from_secret: protectedDataSharing-dapp-prod-privatekey
1030-
commands:
1031-
- cd packages/protected-data-delivery-dapp/deployment
1032-
- npm run deploy-app
1033-
when:
1034-
target:
1035-
- protected-data-delivery-dapp-deploy-prod
1036-
branch:
1037-
- main
1038-
1039-
- name: get scone fingerprint (staging)
1040-
image: iexechub/protected-data-delivery-dapp:${DOCKER_IMAGE_TAG:-staging-${DRONE_COMMIT}-sconify-5.7.5-v12-production}
1041-
commands:
1042-
- SCONE_HASH=1 node > packages/protected-data-delivery-dapp/deployment/.scone-fingerprint
1043-
params:
1044-
# TODO: check usage (redeploy a previously sconified version)
1045-
- DOCKER_IMAGE_TAG
1046-
when:
1047-
target:
1048-
- protected-data-delivery-dapp-deploy-staging
1049-
branch:
1050-
- develop
1051-
1052-
- name: deploy dapp staging
1053-
image: node:18.19
1054-
pull: always
1055-
environment:
1056-
ENV: staging
1057-
WALLET_PRIVATE_KEY:
1058-
from_secret: protectedDataSharing-dapp-dev-privatekey
1059-
params:
1060-
# TODO: check usage (redeploy a previously sconified version)
1061-
- DOCKER_IMAGE_TAG
1062-
commands:
1063-
- cd packages/protected-data-delivery-dapp/deployment
1064-
- npm run deploy-app
1065-
when:
1066-
target:
1067-
- protected-data-delivery-dapp-deploy-staging
1068-
branch:
1069-
- develop
1070-
1071-
- name: update prod env
1072-
image: node:18.19
1073-
environment:
1074-
ENV: prod
1075-
commands:
1076-
- cd environments
1077-
- KEY=protectedDataDeliveryDappAddress VALUE=$(cat ../packages/protected-data-delivery-dapp/deployment/.app-address) npm run update-env
1078-
- git add environments.json
1079-
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
1080-
when:
1081-
target:
1082-
- protected-data-delivery-dapp-deploy-prod
1083-
branch:
1084-
- main
1085-
1086-
- name: update staging env
1087-
image: node:18.19
1088-
environment:
1089-
ENV: staging
1090-
commands:
1091-
- cd environments
1092-
- KEY=protectedDataDeliveryDappAddress VALUE=$(cat ../packages/protected-data-delivery-dapp/deployment/.app-address) npm run update-env
1093-
- git add environments.json
1094-
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
1095-
when:
1096-
target:
1097-
- protected-data-delivery-dapp-deploy-staging
1098-
branch:
1099-
- develop
1100-
1101-
- name: add app to prod whitelist
1102-
image: node:18.19
1103-
pull: always
1104-
environment:
1105-
ENV: prod
1106-
WALLET_PRIVATE_KEY:
1107-
from_secret: protectedDataSharing-dapp-prod-privatekey
1108-
commands:
1109-
- cd packages/protected-data-delivery-dapp/deployment
1110-
- npm run add-app-to-whitelist
1111-
when:
1112-
target:
1113-
- protected-data-delivery-dapp-deploy-prod
1114-
branch:
1115-
- main
1116-
1117-
- name: add app to staging whitelist
1118-
image: node:18.19
1119-
pull: always
1120-
environment:
1121-
ENV: staging
1122-
WALLET_PRIVATE_KEY:
1123-
from_secret: protectedDataSharing-dapp-dev-privatekey
1124-
commands:
1125-
- cd packages/protected-data-delivery-dapp/deployment
1126-
- npm run add-app-to-whitelist
1127-
when:
1128-
target:
1129-
- protected-data-delivery-dapp-deploy-staging
1130-
branch:
1131-
- develop
1132-
1133-
- name: configure ENS prod
1134-
image: node:18.19
1135-
pull: always
1136-
environment:
1137-
ENV: prod
1138-
WALLET_PRIVATE_KEY:
1139-
from_secret: protectedDataSharing-dapp-prod-privatekey
1140-
commands:
1141-
- cd packages/protected-data-delivery-dapp/deployment
1142-
- npm run configure-app-ens
1143-
when:
1144-
target:
1145-
- protected-data-delivery-dapp-deploy-prod
1146-
branch:
1147-
- main
1148-
1149-
- name: configure ENS staging
1150-
image: node:18.19
1151-
pull: always
1152-
environment:
1153-
ENV: staging
1154-
WALLET_PRIVATE_KEY:
1155-
from_secret: protectedDataSharing-dapp-dev-privatekey
1156-
commands:
1157-
- cd packages/protected-data-delivery-dapp/deployment
1158-
- npm run configure-app-ens
1159-
when:
1160-
target:
1161-
- protected-data-delivery-dapp-deploy-staging
1162-
branch:
1163-
- develop
1164-
1165-
- name: transfer prod app to sharing contract
1166-
image: node:18.19
1167-
pull: always
1168-
environment:
1169-
ENV: prod
1170-
WALLET_PRIVATE_KEY:
1171-
from_secret: protectedDataSharing-dapp-prod-privatekey
1172-
commands:
1173-
- cd packages/protected-data-delivery-dapp/deployment
1174-
- npm run transfer-app-to-sharing-contract
1175-
when:
1176-
target:
1177-
- protected-data-delivery-dapp-deploy-prod
1178-
branch:
1179-
- main
1180-
1181-
- name: transfer staging app to sharing contract
1182-
image: node:18.19
1183-
pull: always
1184-
environment:
1185-
ENV: staging
1186-
WALLET_PRIVATE_KEY:
1187-
from_secret: protectedDataSharing-dapp-dev-privatekey
1188-
commands:
1189-
- cd packages/protected-data-delivery-dapp/deployment
1190-
- npm run transfer-app-to-sharing-contract
1191-
when:
1192-
target:
1193-
- protected-data-delivery-dapp-deploy-staging
1194-
branch:
1195-
- develop
1196-
1197-
- name: git-push
1198-
image: appleboy/drone-git-push
1199-
settings:
1200-
remote: ssh://[email protected]/iExecBlockchainComputing/dataprotector-sdk.git
1201-
branch: update-env-${DRONE_BUILD_NUMBER}
1202-
ssh_key:
1203-
from_secret: ssh-key-team-product-github-push
1204-
when:
1205-
target:
1206-
- protected-data-delivery-dapp-deploy-prod
1207-
- protected-data-delivery-dapp-deploy-staging
1208-
1209874
---
1210875
kind: pipeline
1211876
type: docker

0 commit comments

Comments
 (0)