Skip to content

Commit 44c3132

Browse files
feat: add separate commands for update (#735)
Signed-off-by: Ivo Yankov <[email protected]> Signed-off-by: Jeromy Cannon <[email protected]> Co-authored-by: Jeromy Cannon <[email protected]>
1 parent 52484a3 commit 44c3132

15 files changed

+409
-52
lines changed

.github/workflows/flow-build-application.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ jobs:
8686
- { name: "Node Add Local", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-add-local-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-add-local-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-add-local-coverage-report }}" }
8787
- { name: "Node Add - Separate commands", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-add-separate-commands-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-add-separate-commands-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-add-separate-commands-coverage-report }}" }
8888
- { name: "Node Update", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-update-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-update-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-update-coverage-report }}" }
89+
- { name: "Node Update - Separate commands", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-update-separate-commands-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-update-separate-commands-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-update-separate-commands-coverage-report }}" }
8990
- { name: "Node Delete", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-delete-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-delete-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-delete-coverage-report }}" }
9091
- { name: "Node Delete - Separate commands", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-delete-separate-commands-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-delete-separate-commands-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-delete-separate-commands-coverage-report }}" }
9192
- { name: "Node Upgrade", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-upgrade-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-upgrade-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-upgrade-coverage-report }}" }

.github/workflows/flow-pull-request-checks.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ jobs:
8585
- { name: "Node Add Local", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-add-local-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-add-local-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-add-local-coverage-report }}" }
8686
- { name: "Node Add - Separate commands", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-add-separate-commands-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-add-separate-commands-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-add-separate-commands-coverage-report }}" }
8787
- { name: "Node Update", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-update-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-update-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-update-coverage-report }}" }
88+
- { name: "Node Update - Separate commands", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-update-separate-commands-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-update-separate-commands-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-update-separate-commands-coverage-report }}" }
8889
- { name: "Node Delete", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-delete-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-delete-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-delete-coverage-report }}" }
8990
- { name: "Node Delete - Separate commands", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-delete-separate-commands-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-delete-separate-commands-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-delete-separate-commands-coverage-report }}" }
9091
- { name: "Node Upgrade", npm-test-script: "test-${{ needs.env-vars.outputs.e2e-node-upgrade-test-subdir }}", coverage-subdirectory: "${{ needs.env-vars.outputs.e2e-node-upgrade-test-subdir }}", coverage-report-name: "${{ needs.env-vars.outputs.e2e-node-upgrade-coverage-report }}" }

.github/workflows/templates/config.yaml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,22 @@ tests:
3232
mochaPostfix: "'test/e2e/commands/node_add_local.test.ts'"
3333

3434
- name: Node Add - Separate commands
35-
mochaPostfix: "'test/e2e/commands/separate_node_add*.test.ts'"
35+
mochaPostfix: "'test/e2e/commands/separate_node_add.test.ts'"
3636

3737
- name: Node Update
38-
mochaPostfix: "'test/e2e/commands/node_update*.test.ts'"
38+
mochaPostfix: "'test/e2e/commands/node_update.test.ts'"
39+
40+
- name: Node Update - Separate commands
41+
mochaPostfix: "'test/e2e/commands/separate_node_update.test.ts'"
3942

4043
- name: Node Delete
41-
mochaPostfix: "'test/e2e/commands/node_delete*.test.ts'"
44+
mochaPostfix: "'test/e2e/commands/node_delete.test.ts'"
4245

4346
- name: Node Delete - Separate commands
44-
mochaPostfix: "'test/e2e/commands/separate_node_delete*.test.ts'"
47+
mochaPostfix: "'test/e2e/commands/separate_node_delete.test.ts'"
4548

4649
- name: Node Upgrade
47-
mochaPostfix: "'test/e2e/commands/node_upgrade*.test.ts'"
50+
mochaPostfix: "'test/e2e/commands/node_upgrade.test.ts'"
4851

4952
- name: Relay
5053
mochaPostfix: "'test/e2e/commands/relay.test.ts'"

.github/workflows/zxc-code-analysis.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ on:
110110
type: string
111111
required: false
112112
default: "e2e-node-update"
113+
e2e-node-update-separate-commands-test-subdir:
114+
description: "E2E Node Update - Separate commands Test Subdirectory:"
115+
type: string
116+
required: false
117+
default: "e2e-node-update-separate-commands"
113118
e2e-node-delete-test-subdir:
114119
description: "E2E Node Delete Test Subdirectory:"
115120
type: string
@@ -185,6 +190,11 @@ on:
185190
type: string
186191
required: false
187192
default: "E2E Node Update Tests Coverage Report"
193+
e2e-node-update-separate-commands-coverage-report:
194+
description: "E2E Node Update - Separate commands Coverage Report:"
195+
type: string
196+
required: false
197+
default: "E2E Node Update - Separate commands Tests Coverage Report"
188198
e2e-node-delete-coverage-report:
189199
description: "E2E Node Delete Coverage Report:"
190200
type: string
@@ -337,6 +347,13 @@ jobs:
337347
name: ${{ inputs.e2e-node-update-coverage-report }}
338348
path: 'coverage/${{ inputs.e2e-node-update-test-subdir }}'
339349

350+
- name: Download E2E Node Update - Separate commands Coverage Report
351+
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
352+
if: ${{ (inputs.enable-codecov-analysis || inputs.enable-codacy-coverage) && inputs.enable-e2e-coverage-report && !cancelled() && !failure() }}
353+
with:
354+
name: ${{ inputs.e2e-node-update-separate-commands-coverage-report }}
355+
path: 'coverage/${{ inputs.e2e-node-update-separate-commands-test-subdir }}'
356+
340357
- name: Download E2E Node Delete Coverage Report
341358
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
342359
if: ${{ (inputs.enable-codecov-analysis || inputs.enable-codacy-coverage) && inputs.enable-e2e-coverage-report && !cancelled() && !failure() }}

.github/workflows/zxc-env-vars.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ on:
5959
e2e-node-update-test-subdir:
6060
description: "E2E Node Update Test Subdirectory"
6161
value: ${{ jobs.env-vars.outputs.e2e_node_update_test_subdir }}
62+
e2e-node-update-separate-commands-test-subdir:
63+
description: "E2E Node Update - Separate commands Test Subdirectory"
64+
value: ${{ jobs.env-vars.outputs.e2e_node_update_separate_commands_test_subdir }}
6265
e2e-node-delete-test-subdir:
6366
description: "E2E Node Delete Test Subdirectory"
6467
value: ${{ jobs.env-vars.outputs.e2e_node_delete_test_subdir }}
@@ -104,6 +107,9 @@ on:
104107
e2e-node-update-coverage-report:
105108
description: "E2E Node Update Tests Coverage Report"
106109
value: ${{ jobs.env-vars.outputs.e2e_node_update_coverage_report }}
110+
e2e-node-update-separate-commands-coverage-report:
111+
description: "E2E Node Update - Separate commands Tests Coverage Report"
112+
value: ${{ jobs.env-vars.outputs.e2e_node_update_separate_commands_coverage_report }}
107113
e2e-node-delete-coverage-report:
108114
description: "E2E Node Delete Tests Coverage Report"
109115
value: ${{ jobs.env-vars.outputs.e2e_node_delete_coverage_report }}
@@ -140,6 +146,7 @@ jobs:
140146
e2e_node_add_local_test_subdir: e2e-node-add-local
141147
e2e_node_add_separate_commands_test_subdir: e2e-node-add-separate-commands
142148
e2e_node_update_test_subdir: e2e-node-update
149+
e2e_node_update_separate_commands_test_subdir: e2e-node-update-separate-commands
143150
e2e_node_delete_test_subdir: e2e-node-delete
144151
e2e_node_delete_separate_commands_test_subdir: e2e-node-delete-separate-commands
145152
e2e_node_upgrade_test_subdir: e2e-node-upgrade
@@ -155,6 +162,7 @@ jobs:
155162
e2e_node_add_local_coverage_report: "E2E Node Add Local Tests Coverage Report"
156163
e2e_node_add_separate_commands_coverage_report: "E2E Node Add - Separate commands Tests Coverage Report"
157164
e2e_node_update_coverage_report: "E2E Node Update Tests Coverage Report"
165+
e2e_node_update_separate_commands_coverage_report: "E2E Node Update - Separate commands Tests Coverage Report"
158166
e2e_node_delete_coverage_report: "E2E Node Delete Tests Coverage Report"
159167
e2e_node_delete_separate_commands_coverage_report: "E2E Node Delete - Separate commands Tests Coverage Report"
160168
e2e_node_upgrade_coverage_report: "E2E Node Upgrade Tests Coverage Report"

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"test-e2e-node-add-local": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Add Local Tests\" c8 --report-dir='coverage/e2e-node-add-local' mocha 'test/e2e/commands/node_add_local.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-add-local.xml",
2525
"test-e2e-node-add-separate-commands": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Add - Separate commands Tests\" c8 --report-dir='coverage/e2e-node-add-separate-commands' mocha 'test/e2e/commands/separate_node_add*.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-add-separate-commands.xml",
2626
"test-e2e-node-update": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Update Tests\" c8 --report-dir='coverage/e2e-node-update' mocha 'test/e2e/commands/node_update*.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-update.xml",
27+
"test-e2e-node-update-separate-commands": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Update - Separate commands Tests\" c8 --report-dir='coverage/e2e-node-update-separate-commands' mocha 'test/e2e/commands/separate_node_update.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-update-separate-commands.xml",
2728
"test-e2e-node-delete": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Delete Tests\" c8 --report-dir='coverage/e2e-node-delete' mocha 'test/e2e/commands/node_delete*.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-delete.xml",
2829
"test-e2e-node-delete-separate-commands": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Delete - Separate commands Tests\" c8 --report-dir='coverage/e2e-node-delete-separate-commands' mocha 'test/e2e/commands/separate_node_delete*.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-delete-separate-commands.xml",
2930
"test-e2e-node-upgrade": "cross-env MOCHA_SUITE_NAME=\"Mocha E2E Node Upgrade Tests\" c8 --report-dir='coverage/e2e-node-upgrade' mocha 'test/e2e/commands/node_upgrade*.test.ts' --reporter-options configFile=mocha-multi-reporter.json,cmrOutput=mocha-junit-reporter+mochaFile+junit-e2e-node-upgrade.xml",

src/commands/flags.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,9 @@ export const allFlags: CommandFlag[] = [
760760
tlsPublicKey,
761761
updateAccountKeys,
762762
valuesFile,
763-
mirrorNodeVersion
763+
mirrorNodeVersion,
764+
inputDir,
765+
outputDir
764766
]
765767

766768
/** Resets the definition.disablePrompt for all flags */

src/commands/node/configs.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ export interface NodeUpdateConfigClass {
461461
localBuildPath: string
462462
namespace: string
463463
newAccountNumber: string
464-
newAdminKey: string
464+
newAdminKey: PrivateKey
465465
nodeAlias: NodeAlias
466466
releaseTag: string
467467
tlsPrivateKey: string
@@ -470,7 +470,7 @@ export interface NodeUpdateConfigClass {
470470
allNodeAliases: NodeAliases
471471
chartPath: string
472472
existingNodeAliases: NodeAliases
473-
freezeAdminPrivateKey: string
473+
freezeAdminPrivateKey: PrivateKey
474474
keysDir: string
475475
nodeClient: any
476476
podNames: Record<NodeAlias, PodName>

src/commands/node/flags.ts

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,59 @@ export const DEFAULT_FLAGS = {
2323
optionalFlags: [flags.devMode]
2424
}
2525

26+
const COMMON_UPDATE_FLAGS_REQUIRED_FLAGS = [flags.cacheDir, flags.namespace, flags.releaseTag]
27+
const COMMON_UPDATE_FLAGS_REQUIRED_NO_PROMPT_FLAGS = [
28+
flags.app,
29+
flags.debugNodeAlias,
30+
flags.endpointType,
31+
flags.soloChartVersion,
32+
33+
]
34+
const COMMON_UPDATE_FLAGS_OPTIONAL_FLAGS = [
35+
flags.chartDirectory, flags.devMode, flags.quiet, flags.localBuildPath, flags.force, flags.gossipEndpoints, flags.grpcEndpoints
36+
]
37+
2638
export const UPDATE_FLAGS = {
27-
requiredFlags: [flags.cacheDir, flags.namespace, flags.nodeAlias, flags.releaseTag],
39+
requiredFlags: [...COMMON_UPDATE_FLAGS_REQUIRED_FLAGS, flags.nodeAlias],
2840
requiredFlagsWithDisabledPrompt: [
29-
flags.app,
30-
flags.debugNodeAlias,
31-
flags.endpointType,
32-
flags.soloChartVersion,
41+
...COMMON_UPDATE_FLAGS_REQUIRED_NO_PROMPT_FLAGS,
42+
flags.newAdminKey,
43+
flags.newAccountNumber,
44+
flags.tlsPublicKey,
3345
flags.gossipPrivateKey,
3446
flags.gossipPublicKey,
35-
flags.newAccountNumber,
47+
flags.tlsPrivateKey
48+
],
49+
optionalFlags: COMMON_UPDATE_FLAGS_OPTIONAL_FLAGS
50+
}
51+
52+
export const UPDATE_PREPARE_FLAGS = {
53+
requiredFlags: [...COMMON_UPDATE_FLAGS_REQUIRED_FLAGS, flags.outputDir, flags.nodeAlias],
54+
requiredFlagsWithDisabledPrompt: [
55+
...COMMON_UPDATE_FLAGS_REQUIRED_NO_PROMPT_FLAGS,
3656
flags.newAdminKey,
37-
flags.tlsPrivateKey,
38-
flags.tlsPublicKey
57+
flags.newAccountNumber,
58+
flags.tlsPublicKey,
59+
flags.gossipPrivateKey,
60+
flags.gossipPublicKey,
61+
flags.tlsPrivateKey
3962
],
40-
optionalFlags: [flags.chartDirectory, flags.devMode, flags.quiet, flags.localBuildPath, flags.force, flags.gossipEndpoints, flags.grpcEndpoints]
63+
optionalFlags: [...COMMON_UPDATE_FLAGS_OPTIONAL_FLAGS]
64+
}
65+
66+
export const UPDATE_SUBMIT_TRANSACTIONS_FLAGS = {
67+
requiredFlags: [...COMMON_UPDATE_FLAGS_REQUIRED_FLAGS, flags.inputDir],
68+
requiredFlagsWithDisabledPrompt: [...COMMON_UPDATE_FLAGS_REQUIRED_NO_PROMPT_FLAGS],
69+
optionalFlags: [...COMMON_UPDATE_FLAGS_OPTIONAL_FLAGS]
4170
}
4271

72+
export const UPDATE_EXECUTE_FLAGS = {
73+
requiredFlags: [...COMMON_UPDATE_FLAGS_REQUIRED_FLAGS, flags.inputDir],
74+
requiredFlagsWithDisabledPrompt: [...COMMON_UPDATE_FLAGS_REQUIRED_NO_PROMPT_FLAGS],
75+
optionalFlags: [...COMMON_UPDATE_FLAGS_OPTIONAL_FLAGS]
76+
}
77+
78+
4379
const COMMON_DELETE_REQUIRED_FLAGS = [
4480
flags.cacheDir,
4581
flags.namespace,

0 commit comments

Comments
 (0)