Skip to content

Commit ffe9320

Browse files
refactor: migrate deployment scripts from Drone to GitHub Actions environment variables
1 parent 29f67a5 commit ffe9320

File tree

5 files changed

+84
-121
lines changed

5 files changed

+84
-121
lines changed

deployment-dapp/src/configureEnsNameScript.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
import {
2-
DRONE_TARGET_DEPLOY_DEV,
3-
DRONE_TARGET_DEPLOY_PROD,
2+
GITHUB_DEPLOY_TO_DEV,
3+
GITHUB_DEPLOY_TO_PROD,
44
WEB3_MAIL_ENS_NAME_DEV,
55
WEB3_MAIL_ENS_NAME_PROD,
66
} from './config/config.js';
77
import { getIExec, loadAppAddress } from './utils/utils.js';
88
import { configureEnsName } from './singleFunction/configureEnsName.js';
99

1010
const main = async () => {
11-
// get env variables from drone
12-
const { DRONE_DEPLOY_TO, WALLET_PRIVATE_KEY_DEV, WALLET_PRIVATE_KEY_PROD } =
11+
// get env variables from GitHub Actions
12+
const { DEPLOY_ENVIRONMENT, WALLET_PRIVATE_KEY_DEV, WALLET_PRIVATE_KEY_PROD } =
1313
process.env;
1414

15-
if (
16-
!DRONE_DEPLOY_TO ||
17-
(DRONE_DEPLOY_TO !== DRONE_TARGET_DEPLOY_DEV &&
18-
DRONE_DEPLOY_TO !== DRONE_TARGET_DEPLOY_PROD)
19-
)
20-
throw Error(`Invalid promote target ${DRONE_DEPLOY_TO}`);
15+
// Determine deployment environment
16+
const deployEnvironment = DEPLOY_ENVIRONMENT || GITHUB_DEPLOY_TO_DEV;
17+
18+
if (deployEnvironment !== GITHUB_DEPLOY_TO_DEV && deployEnvironment !== GITHUB_DEPLOY_TO_PROD) {
19+
throw Error(`Invalid deployment environment ${deployEnvironment}`);
20+
}
2121

2222
const appAddress = await loadAppAddress();
2323

2424
let privateKey;
2525
let ensName;
26-
if (DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_DEV) {
26+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
2727
privateKey = WALLET_PRIVATE_KEY_DEV;
2828
ensName = WEB3_MAIL_ENS_NAME_DEV;
29-
} else if (DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_PROD) {
29+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
3030
privateKey = WALLET_PRIVATE_KEY_PROD;
3131
ensName = WEB3_MAIL_ENS_NAME_PROD;
3232
}
3333

3434
if (!privateKey)
35-
throw Error(`Failed to get privateKey for target ${DRONE_DEPLOY_TO}`);
35+
throw Error(`Failed to get privateKey for environment ${deployEnvironment}`);
3636

3737
if (!ensName)
38-
throw Error(`Failed to get ens name for target ${DRONE_DEPLOY_TO}`);
38+
throw Error(`Failed to get ens name for environment ${deployEnvironment}`);
3939

4040
const iexec = getIExec(privateKey);
4141

deployment-dapp/src/deployScript.ts

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,42 @@ import { deployApp } from './singleFunction/deployApp.js';
22
import {
33
DOCKER_IMAGE_DEV_TAG,
44
DOCKER_IMAGE_PROD_TAG,
5-
DRONE_TARGET_DEPLOY_DEV,
6-
DRONE_TARGET_DEPLOY_PROD,
5+
GITHUB_DEPLOY_TO_DEV,
6+
GITHUB_DEPLOY_TO_PROD,
77
} from './config/config.js';
88
import { getIExec, saveAppAddress } from './utils/utils.js';
99

1010
const main = async () => {
11-
// get env variables from drone
12-
const { DRONE_DEPLOY_TO, WALLET_PRIVATE_KEY_DEV, WALLET_PRIVATE_KEY_PROD } =
13-
process.env;
14-
15-
if (
16-
!DRONE_DEPLOY_TO ||
17-
(DRONE_DEPLOY_TO !== DRONE_TARGET_DEPLOY_DEV &&
18-
DRONE_DEPLOY_TO !== DRONE_TARGET_DEPLOY_PROD)
19-
)
20-
throw Error(`Invalid promote target ${DRONE_DEPLOY_TO}`);
11+
// get env variables from GitHub Actions
12+
const {
13+
DEPLOY_ENVIRONMENT,
14+
WALLET_PRIVATE_KEY_DEV,
15+
WALLET_PRIVATE_KEY_PROD
16+
} = process.env;
17+
18+
// Determine deployment environment
19+
const deployEnvironment = DEPLOY_ENVIRONMENT || GITHUB_DEPLOY_TO_DEV;
20+
21+
if (deployEnvironment !== GITHUB_DEPLOY_TO_DEV && deployEnvironment !== GITHUB_DEPLOY_TO_PROD) {
22+
throw Error(`Invalid deployment environment ${deployEnvironment}`);
23+
}
2124

2225
let privateKey;
23-
if (DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_DEV) {
26+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
2427
privateKey = WALLET_PRIVATE_KEY_DEV;
25-
} else if (DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_PROD) {
28+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
2629
privateKey = WALLET_PRIVATE_KEY_PROD;
2730
}
2831

2932
if (!privateKey)
30-
throw Error(`Failed to get privateKey for target ${DRONE_DEPLOY_TO}`);
33+
throw Error(`Failed to get privateKey for environment ${deployEnvironment}`);
3134

3235
const iexec = getIExec(privateKey);
3336

3437
let dockerImageTag;
35-
if (DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_DEV) {
38+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
3639
dockerImageTag = DOCKER_IMAGE_DEV_TAG;
37-
} else if (DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_PROD) {
40+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
3841
dockerImageTag = DOCKER_IMAGE_PROD_TAG;
3942
}
4043

deployment-dapp/src/publishSellOrderScript.ts

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ import { getIExec, loadAppAddress } from './utils/utils.js';
22
import { publishSellOrder } from './singleFunction/publishSellOrder.js';
33
import { resolveName } from './singleFunction/resolveName.js';
44
import {
5-
DRONE_TARGET_SELL_ORDER_DEV,
6-
DRONE_TARGET_SELL_ORDER_PROD,
7-
DRONE_TARGET_DEPLOY_DEV,
8-
DRONE_TARGET_DEPLOY_PROD,
5+
GITHUB_DEPLOY_TO_DEV,
6+
GITHUB_DEPLOY_TO_PROD,
97
WEB3_MAIL_ENS_NAME_DEV,
108
WEB3_MAIL_ENS_NAME_PROD,
119
DEFAULT_APP_PRICE,
@@ -17,56 +15,44 @@ import {
1715
} from './utils/validator.js';
1816

1917
const main = async () => {
20-
// get env variables from drone
18+
// get env variables from GitHub Actions
2119
const {
22-
DRONE_DEPLOY_TO,
20+
DEPLOY_ENVIRONMENT,
2321
WALLET_PRIVATE_KEY_DEV,
2422
WALLET_PRIVATE_KEY_PROD,
2523
PRICE,
2624
VOLUME,
2725
} = process.env;
2826

29-
if (
30-
!DRONE_DEPLOY_TO ||
31-
![
32-
DRONE_TARGET_DEPLOY_DEV,
33-
DRONE_TARGET_SELL_ORDER_DEV,
34-
DRONE_TARGET_DEPLOY_PROD,
35-
DRONE_TARGET_SELL_ORDER_PROD,
36-
].includes(DRONE_DEPLOY_TO)
37-
)
38-
throw Error(`Invalid promote target ${DRONE_DEPLOY_TO}`);
27+
// Determine deployment environment
28+
const deployEnvironment = DEPLOY_ENVIRONMENT || GITHUB_DEPLOY_TO_DEV;
29+
30+
if (deployEnvironment !== GITHUB_DEPLOY_TO_DEV && deployEnvironment !== GITHUB_DEPLOY_TO_PROD) {
31+
throw Error(`Invalid deployment environment ${deployEnvironment}`);
32+
}
3933

4034
let privateKey;
41-
if (
42-
[DRONE_TARGET_DEPLOY_DEV, DRONE_TARGET_SELL_ORDER_DEV].includes(
43-
DRONE_DEPLOY_TO
44-
)
45-
) {
35+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
4636
privateKey = WALLET_PRIVATE_KEY_DEV;
47-
} else if (
48-
[DRONE_TARGET_DEPLOY_PROD, DRONE_TARGET_SELL_ORDER_PROD].includes(
49-
DRONE_DEPLOY_TO
50-
)
51-
) {
37+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
5238
privateKey = WALLET_PRIVATE_KEY_PROD;
5339
}
5440

5541
if (!privateKey)
56-
throw Error(`Failed to get privateKey for target ${DRONE_DEPLOY_TO}`);
42+
throw Error(`Failed to get privateKey for environment ${deployEnvironment}`);
5743

5844
const iexec = getIExec(privateKey);
5945

6046
const appAddress = await loadAppAddress().catch(() => {
6147
console.log('No app address found falling back to ENS');
6248
let ensName;
63-
if (DRONE_DEPLOY_TO === DRONE_TARGET_SELL_ORDER_DEV) {
49+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
6450
ensName = WEB3_MAIL_ENS_NAME_DEV;
65-
} else if (DRONE_DEPLOY_TO === DRONE_TARGET_SELL_ORDER_PROD) {
51+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
6652
ensName = WEB3_MAIL_ENS_NAME_PROD;
6753
}
6854
if (!ensName)
69-
throw Error(`Failed to get ens name for target ${DRONE_DEPLOY_TO}`);
55+
throw Error(`Failed to get ens name for environment ${deployEnvironment}`);
7056
return resolveName(iexec, ensName);
7157
});
7258

deployment-dapp/src/pushSecretScript.ts

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import {
2-
DRONE_TARGET_DEPLOY_DEV,
3-
DRONE_TARGET_DEPLOY_PROD,
4-
DRONE_TARGET_PUSH_SECRET_DEV,
5-
DRONE_TARGET_PUSH_SECRET_PROD,
2+
GITHUB_DEPLOY_TO_DEV,
3+
GITHUB_DEPLOY_TO_PROD,
64
WEB3_MAIL_ENS_NAME_DEV,
75
WEB3_MAIL_ENS_NAME_PROD,
86
WEB3MAIL_WHITELISTED_APPS_DEV,
@@ -13,9 +11,9 @@ import { resolveName } from './singleFunction/resolveName.js';
1311
import { getIExec, loadAppAddress } from './utils/utils.js';
1412

1513
const main = async () => {
16-
// get env variables from drone
14+
// get env variables from GitHub Actions
1715
const {
18-
DRONE_DEPLOY_TO,
16+
DEPLOY_ENVIRONMENT,
1917
WALLET_PRIVATE_KEY_DEV,
2018
WALLET_PRIVATE_KEY_PROD,
2119
MJ_APIKEY_PUBLIC,
@@ -24,16 +22,12 @@ const main = async () => {
2422
MAILGUN_APIKEY,
2523
} = process.env;
2624

27-
if (
28-
!DRONE_DEPLOY_TO ||
29-
![
30-
DRONE_TARGET_DEPLOY_DEV,
31-
DRONE_TARGET_DEPLOY_PROD,
32-
DRONE_TARGET_PUSH_SECRET_DEV,
33-
DRONE_TARGET_PUSH_SECRET_PROD,
34-
].includes(DRONE_DEPLOY_TO)
35-
)
36-
throw Error(`Invalid promote target ${DRONE_DEPLOY_TO}`);
25+
// Determine deployment environment
26+
const deployEnvironment = DEPLOY_ENVIRONMENT || GITHUB_DEPLOY_TO_DEV;
27+
28+
if (deployEnvironment !== GITHUB_DEPLOY_TO_DEV && deployEnvironment !== GITHUB_DEPLOY_TO_PROD) {
29+
throw Error(`Invalid deployment environment ${deployEnvironment}`);
30+
}
3731

3832
if (!MJ_APIKEY_PUBLIC) throw Error('Missing env MJ_APIKEY_PUBLIC');
3933
if (!MJ_APIKEY_PRIVATE) throw Error('Missing env MJ_APIKEY_PRIVATE');
@@ -43,35 +37,29 @@ const main = async () => {
4337
let privateKey;
4438
let baseWhitelistedApps;
4539

46-
if (
47-
DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_DEV ||
48-
DRONE_DEPLOY_TO === DRONE_TARGET_PUSH_SECRET_DEV
49-
) {
40+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
5041
privateKey = WALLET_PRIVATE_KEY_DEV;
51-
baseWhitelistedApps = JSON.parse(WEB3MAIL_WHITELISTED_APPS_DEV);
52-
} else if (
53-
DRONE_DEPLOY_TO === DRONE_TARGET_DEPLOY_PROD ||
54-
DRONE_DEPLOY_TO === DRONE_TARGET_PUSH_SECRET_PROD
55-
) {
42+
baseWhitelistedApps = JSON.parse(process.env.WEB3MAIL_WHITELISTED_APPS_DEV || WEB3MAIL_WHITELISTED_APPS_DEV);
43+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
5644
privateKey = WALLET_PRIVATE_KEY_PROD;
57-
baseWhitelistedApps = JSON.parse(WEB3MAIL_WHITELISTED_APPS_PROD);
45+
baseWhitelistedApps = JSON.parse(process.env.WEB3MAIL_WHITELISTED_APPS_PROD || WEB3MAIL_WHITELISTED_APPS_PROD);
5846
}
5947

6048
if (!privateKey)
61-
throw Error(`Failed to get privateKey for target ${DRONE_DEPLOY_TO}`);
49+
throw Error(`Failed to get privateKey for environment ${deployEnvironment}`);
6250

6351
const iexec = getIExec(privateKey);
6452

6553
const appAddress = await loadAppAddress().catch(() => {
6654
console.log('No app address found falling back to ENS');
6755
let ensName;
68-
if (DRONE_DEPLOY_TO === DRONE_TARGET_PUSH_SECRET_DEV) {
56+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
6957
ensName = WEB3_MAIL_ENS_NAME_DEV;
70-
} else if (DRONE_DEPLOY_TO === DRONE_TARGET_PUSH_SECRET_PROD) {
58+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
7159
ensName = WEB3_MAIL_ENS_NAME_PROD;
7260
}
7361
if (!ensName)
74-
throw Error(`Failed to get ens name for target ${DRONE_DEPLOY_TO}`);
62+
throw Error(`Failed to get ens name for environment ${deployEnvironment}`);
7563
return resolveName(iexec, ensName);
7664
});
7765

deployment-dapp/src/revokeSellOrderScript.ts

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,65 +2,51 @@ import { getIExec, loadAppAddress } from './utils/utils.js';
22
import { revokeSellOrder } from './singleFunction/revokeSellOrder.js';
33
import { resolveName } from './singleFunction/resolveName.js';
44
import {
5-
DRONE_TARGET_REVOKE_SELL_ORDER_DEV,
6-
DRONE_TARGET_REVOKE_SELL_ORDER_PROD,
7-
DRONE_TARGET_DEPLOY_DEV,
8-
DRONE_TARGET_DEPLOY_PROD,
5+
GITHUB_DEPLOY_TO_DEV,
6+
GITHUB_DEPLOY_TO_PROD,
97
WEB3_MAIL_ENS_NAME_DEV,
108
WEB3_MAIL_ENS_NAME_PROD,
119
} from './config/config.js';
1210
import { orderHashSchema } from './utils/validator.js';
1311

1412
const main = async () => {
15-
// get env variables from drone
13+
// get env variables from GitHub Actions
1614
const {
17-
DRONE_DEPLOY_TO,
15+
DEPLOY_ENVIRONMENT,
1816
WALLET_PRIVATE_KEY_DEV,
1917
WALLET_PRIVATE_KEY_PROD,
2018
ORDER_HASH,
2119
} = process.env;
2220

23-
if (
24-
!DRONE_DEPLOY_TO ||
25-
![
26-
DRONE_TARGET_DEPLOY_DEV,
27-
DRONE_TARGET_REVOKE_SELL_ORDER_DEV,
28-
DRONE_TARGET_DEPLOY_PROD,
29-
DRONE_TARGET_REVOKE_SELL_ORDER_PROD,
30-
].includes(DRONE_DEPLOY_TO)
31-
)
32-
throw Error(`Invalid promote target ${DRONE_DEPLOY_TO}`);
21+
// Determine deployment environment
22+
const deployEnvironment = DEPLOY_ENVIRONMENT || GITHUB_DEPLOY_TO_DEV;
23+
24+
if (deployEnvironment !== GITHUB_DEPLOY_TO_DEV && deployEnvironment !== GITHUB_DEPLOY_TO_PROD) {
25+
throw Error(`Invalid deployment environment ${deployEnvironment}`);
26+
}
3327

3428
let privateKey;
35-
if (
36-
[DRONE_TARGET_DEPLOY_DEV, DRONE_TARGET_REVOKE_SELL_ORDER_DEV].includes(
37-
DRONE_DEPLOY_TO
38-
)
39-
) {
29+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
4030
privateKey = WALLET_PRIVATE_KEY_DEV;
41-
} else if (
42-
[DRONE_TARGET_DEPLOY_PROD, DRONE_TARGET_REVOKE_SELL_ORDER_PROD].includes(
43-
DRONE_DEPLOY_TO
44-
)
45-
) {
31+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
4632
privateKey = WALLET_PRIVATE_KEY_PROD;
4733
}
4834

4935
if (!privateKey)
50-
throw Error(`Failed to get privateKey for target ${DRONE_DEPLOY_TO}`);
36+
throw Error(`Failed to get privateKey for environment ${deployEnvironment}`);
5137

5238
const iexec = getIExec(privateKey);
5339

5440
const appAddress = await loadAppAddress().catch(() => {
5541
console.log('No app address found falling back to ENS');
5642
let ensName;
57-
if (DRONE_DEPLOY_TO === DRONE_TARGET_REVOKE_SELL_ORDER_DEV) {
43+
if (deployEnvironment === GITHUB_DEPLOY_TO_DEV) {
5844
ensName = WEB3_MAIL_ENS_NAME_DEV;
59-
} else if (DRONE_DEPLOY_TO === DRONE_TARGET_REVOKE_SELL_ORDER_PROD) {
45+
} else if (deployEnvironment === GITHUB_DEPLOY_TO_PROD) {
6046
ensName = WEB3_MAIL_ENS_NAME_PROD;
6147
}
6248
if (!ensName)
63-
throw Error(`Failed to get ens name for target ${DRONE_DEPLOY_TO}`);
49+
throw Error(`Failed to get ens name for environment ${deployEnvironment}`);
6450
return resolveName(iexec, ensName);
6551
});
6652

0 commit comments

Comments
 (0)