Skip to content

Commit c4182f8

Browse files
feat(workflows): improve env/inputs logic for price and volume, fix secret mapping, add env vars support
1 parent 8b589d1 commit c4182f8

File tree

5 files changed

+70
-64
lines changed

5 files changed

+70
-64
lines changed

.github/workflows/dapp-deploy.yml

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ on:
1818
description: 'Version of the sconify image to use'
1919
type: string
2020
default: '5.9.0-v15'
21+
price:
22+
description: 'Sell order price (optionnel)'
23+
type: string
24+
required: false
25+
default: ''
26+
volume:
27+
description: 'Sell order volume (optionnel)'
28+
type: string
29+
required: false
30+
default: ''
2131

2232
jobs:
2333
extract-tag:
@@ -37,11 +47,12 @@ jobs:
3747
3848
deploy-dapp:
3949
uses: ./.github/workflows/reusable-dapp-deploy.yml
40-
environment: ${{ inputs.environment }}
4150
with:
4251
tag: ${{ needs.extract-tag.outputs.clean_tag }}
4352
sconify-version: ${{ inputs.sconify-version }}
44-
53+
environment: ${{ inputs.environment }}
54+
price: ${{ inputs.price != '' && inputs.price || vars.SELL_ORDER_PRICE }}
55+
volume: ${{ inputs.volume != '' && inputs.volume || vars.SELL_ORDER_VOLUME }}
4556
secrets:
4657
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
4758
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -52,30 +63,6 @@ jobs:
5263
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
5364
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
5465
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
55-
wallet_private_key: >-
56-
${{
57-
github.event.inputs.environment == 'bellecour-staging' && secrets.WEB3MAIL_DAPP_OWNER_DEV_PRIVATEKEY ||
58-
github.event.inputs.environment == 'bellecour-prod' && secrets.WEB3MAIL_DAPP_OWNER_PROD_PRIVATEKEY ||
59-
github.event.inputs.environment == 'arbitrum-staging' && secrets.WEB3MAIL_DAPP_OWNER_ARBITRUM_STAGING_PRIVATEKEY ||
60-
github.event.inputs.environment == 'arbitrum-prod' && secrets.WEB3MAIL_DAPP_OWNER_ARBITRUM_PROD_PRIVATEKEY ||
61-
github.event.inputs.environment == 'avalanche-staging' && secrets.WEB3MAIL_DAPP_OWNER_AVALANCHE_STAGING_PRIVATEKEY ||
62-
github.event.inputs.environment == 'avalanche-prod' && secrets.WEB3MAIL_DAPP_OWNER_AVALANCHE_PROD_PRIVATEKEY
63-
}}
64-
whitelisted_apps: >-
65-
${{
66-
github.event.inputs.environment == 'bellecour-staging' && secrets.WEB3MAIL_WHITELISTED_APPS_STAGING ||
67-
github.event.inputs.environment == 'bellecour-prod' && secrets.WEB3MAIL_WHITELISTED_APPS_PROD ||
68-
github.event.inputs.environment == 'arbitrum-staging' && secrets.WEB3MAIL_WHITELISTED_APPS_ARBITRUM_STAGING ||
69-
github.event.inputs.environment == 'arbitrum-prod' && secrets.WEB3MAIL_WHITELISTED_APPS_ARBITRUM_PROD ||
70-
github.event.inputs.environment == 'avalanche-staging' && secrets.WEB3MAIL_WHITELISTED_APPS_AVALANCHE_STAGING ||
71-
github.event.inputs.environment == 'avalanche-prod' && secrets.WEB3MAIL_WHITELISTED_APPS_AVALANCHE_PROD
72-
}}
73-
whitelist_address: >-
74-
${{
75-
github.event.inputs.environment == 'bellecour-staging' && secrets.WEB3MAIL_WHITELIST_DEV_ADDRESS ||
76-
github.event.inputs.environment == 'bellecour-prod' && secrets.WEB3MAIL_WHITELIST_PROD_ADDRESS ||
77-
github.event.inputs.environment == 'arbitrum-staging' && secrets.WEB3MAIL_WHITELIST_ARBITRUM_STAGING_ADDRESS ||
78-
github.event.inputs.environment == 'arbitrum-prod' && secrets.WEB3MAIL_WHITELIST_ARBITRUM_PROD_ADDRESS ||
79-
github.event.inputs.environment == 'avalanche-staging' && secrets.WEB3MAIL_WHITELIST_AVALANCHE_STAGING_ADDRESS ||
80-
github.event.inputs.environment == 'avalanche-prod' && secrets.WEB3MAIL_WHITELIST_AVALANCHE_PROD_ADDRESS
81-
}}
66+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
67+
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
68+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}

.github/workflows/dapp-release.yml

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ jobs:
2020
deploy-bellecour-prod:
2121
uses: ./.github/workflows/reusable-dapp-deploy.yml
2222
needs: [extract-tag]
23-
environment: bellecour-prod
2423
with:
24+
environment: bellecour-prod
2525
tag: ${{ needs.extract-tag.outputs.clean_tag }}
2626
sconify-version: 5.9.0-v15
27+
price: ${{ vars.SELL_ORDER_PRICE }}
28+
volume: ${{ vars.SELL_ORDER_VOLUME }}
2729
secrets:
2830
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
2931
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -34,18 +36,19 @@ jobs:
3436
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
3537
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
3638
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
37-
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PROD_PRIVATEKEY }}
38-
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS_PROD }}
39-
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_PROD_ADDRESS }}
39+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
40+
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
41+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}
4042

4143
deploy-bellecour-staging:
4244
uses: ./.github/workflows/reusable-dapp-deploy.yml
4345
needs: [extract-tag]
44-
environment: bellecour-staging
45-
4646
with:
47-
tag: dev-${{ github.sha }}
47+
environment: bellecour-staging
48+
tag: ${{ needs.extract-tag.outputs.clean_tag }}
4849
sconify-version: 5.9.0-v15
50+
price: ${{ vars.SELL_ORDER_PRICE }}
51+
volume: ${{ vars.SELL_ORDER_VOLUME }}
4952
secrets:
5053
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
5154
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -56,18 +59,19 @@ jobs:
5659
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
5760
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
5861
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
59-
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_DEV_PRIVATEKEY }}
62+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
6063
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
61-
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_DEV_ADDRESS }}
64+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}
6265

6366
deploy-arbitrum-prod:
6467
uses: ./.github/workflows/reusable-dapp-deploy.yml
6568
needs: [extract-tag]
66-
environment: arbitrum-prod
67-
6869
with:
70+
environment: arbitrum-prod
6971
tag: ${{ needs.extract-tag.outputs.clean_tag }}
7072
sconify-version: 5.9.0-v15
73+
price: ${{ vars.SELL_ORDER_PRICE }}
74+
volume: ${{ vars.SELL_ORDER_VOLUME }}
7175
secrets:
7276
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
7377
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -78,18 +82,19 @@ jobs:
7882
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
7983
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
8084
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
81-
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_ARBITRUM_PROD_PRIVATEKEY }}
82-
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS_ARBITRUM_PROD }}
83-
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ARBITRUM_PROD_ADDRESS }}
85+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
86+
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
87+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}
8488

8589
deploy-arbitrum-staging:
8690
uses: ./.github/workflows/reusable-dapp-deploy.yml
8791
needs: [extract-tag]
88-
environment: arbitrum-staging
89-
9092
with:
91-
tag: dev-${{ github.sha }}
93+
environment: arbitrum-staging
94+
tag: ${{ needs.extract-tag.outputs.clean_tag }}
9295
sconify-version: 5.9.0-v15
96+
price: ${{ vars.SELL_ORDER_PRICE }}
97+
volume: ${{ vars.SELL_ORDER_VOLUME }}
9398
secrets:
9499
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
95100
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -100,18 +105,19 @@ jobs:
100105
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
101106
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
102107
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
103-
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_ARBITRUM_STAGING_PRIVATEKEY }}
104-
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS_ARBITRUM_STAGING }}
105-
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ARBITRUM_STAGING_ADDRESS }}
108+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
109+
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
110+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}
106111

107112
deploy-avalanche-prod:
108113
uses: ./.github/workflows/reusable-dapp-deploy.yml
109114
needs: [extract-tag]
110-
environment: avalanche-prod
111-
112115
with:
116+
environment: avalanche-prod
113117
tag: ${{ needs.extract-tag.outputs.clean_tag }}
114118
sconify-version: 5.9.0-v15
119+
price: ${{ vars.SELL_ORDER_PRICE }}
120+
volume: ${{ vars.SELL_ORDER_VOLUME }}
115121
secrets:
116122
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
117123
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -122,18 +128,19 @@ jobs:
122128
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
123129
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
124130
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
125-
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_AVALANCHE_PROD_PRIVATEKEY }}
126-
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS_AVALANCHE_PROD }}
127-
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_AVALANCHE_PROD_ADDRESS }}
131+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
132+
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
133+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}
128134

129135
deploy-avalanche-staging:
130136
uses: ./.github/workflows/reusable-dapp-deploy.yml
131137
needs: [extract-tag]
132-
environment: avalanche-staging
133-
134138
with:
135-
tag: dev-${{ github.sha }}
139+
environment: avalanche-staging
140+
tag: ${{ needs.extract-tag.outputs.clean_tag }}
136141
sconify-version: 5.9.0-v15
142+
price: ${{ vars.SELL_ORDER_PRICE }}
143+
volume: ${{ vars.SELL_ORDER_VOLUME }}
137144
secrets:
138145
mj_apikey_public: ${{ secrets.MAILJET_APIKEY_PUBLIC }}
139146
mj_apikey_private: ${{ secrets.MAILJET_APIKEY_PRIVATE }}
@@ -144,6 +151,6 @@ jobs:
144151
scontain-username: ${{ secrets.SCONTAIN_REGISTRY_USERNAME }}
145152
scontain-password: ${{ secrets.SCONTAIN_REGISTRY_PAT }}
146153
sconify-signing-private-key: ${{ secrets.SCONIFY_SIGNING_PRIVATE_KEY }}
147-
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_AVALANCHE_STAGING_PRIVATEKEY }}
148-
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS_AVALANCHE_STAGING }}
149-
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_AVALANCHE_STAGING_ADDRESS }}
154+
wallet_private_key: ${{ secrets.WEB3MAIL_DAPP_OWNER_PRIVATEKEY }}
155+
whitelisted_apps: ${{ secrets.WEB3MAIL_WHITELISTED_APPS }}
156+
whitelist_address: ${{ secrets.WEB3MAIL_WHITELIST_ADDRESS }}

.github/workflows/reusable-dapp-deploy.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,16 @@ on:
1717
required: true
1818
default: ''
1919
type: string
20+
price:
21+
description: 'Sell order price (optional)'
22+
required: false
23+
type: string
24+
default: ''
25+
volume:
26+
description: 'Sell order volume (optional)'
27+
required: false
28+
type: string
29+
default: ''
2030
secrets:
2131
docker-username:
2232
description: 'Dockerhub username'
@@ -39,7 +49,6 @@ on:
3949
whitelisted_apps:
4050
description: 'Whitelisted apps'
4151
required: true
42-
4352

4453
jobs:
4554
docker-publish:
@@ -87,6 +96,7 @@ jobs:
8796

8897
deploy-dapp:
8998
runs-on: ubuntu-latest
99+
environment: ${{ inputs.environment }}
90100
needs: [docker-publish, sconify]
91101
steps:
92102
- name: Checkout code
@@ -120,7 +130,7 @@ jobs:
120130
- name: Push dapp secret
121131
env:
122132
WALLET_PRIVATE_KEY: ${{ secrets.wallet_private_key }}
123-
MJ_APIKEY_PUBLIC: ${{ steps.mj_apikey_public }}
133+
MJ_APIKEY_PUBLIC: ${{ secrets.mj_apikey_public }}
124134
MJ_APIKEY_PRIVATE: ${{ secrets.mj_apikey_private }}
125135
MJ_SENDER: ${{ secrets.mj_sender }}
126136
MAILGUN_APIKEY: ${{ secrets.MAILGUN_APIKEY }}

deployment-dapp/src/config/config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,3 @@ export const APP_TAG = ['tee', 'scone'];
1212

1313
export const DOCKER_IMAGE_NAMESPACE = 'iexechub';
1414
export const DOCKER_IMAGE_REPOSITORY = 'web3mail-dapp';
15-

deployment-dapp/src/utils/utils.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ export const getIExec = (
55
privateKey: string,
66
host: string = 'bellecour'
77
): IExec => {
8-
const ethProvider = utils.getSignerFromPrivateKey(host, privateKey, { providers: {}, allowExperimentalNetworks: true });
8+
const ethProvider = utils.getSignerFromPrivateKey(host, privateKey, {
9+
providers: {},
10+
allowExperimentalNetworks: true,
11+
});
912
return new IExec({
1013
ethProvider,
1114
});

0 commit comments

Comments
 (0)