Skip to content

Commit 6eb47ff

Browse files
committed
fix: DRY stasck name and mode
1 parent fe1ee4b commit 6eb47ff

2 files changed

Lines changed: 22 additions & 7 deletions

File tree

.github/workflows/pull_request.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
8888
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
8989

90-
cdk_release_code:
90+
cdk_release_stateless_code:
9191
needs:
9292
[get_issue_number, cdk_package_code, get_commit_id, get_config_values, cdk_release_stateful_code]
9393
uses: ./.github/workflows/cdk_release_code.yml
@@ -97,7 +97,7 @@ jobs:
9797
with:
9898
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
9999
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
100-
STACK_NAME: psu-cdk-pr-${{needs.get_issue_number.outputs.issue_number}}
100+
STACK_NAME: psu-api-pr-${{needs.get_issue_number.outputs.issue_number}}
101101
AWS_ENVIRONMENT: dev
102102
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
103103
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
@@ -109,7 +109,7 @@ jobs:
109109
FORWARD_CSOC_LOGS: false
110110
DEPLOY_CHECK_PRESCRIPTION_STATUS_UPDATE: true
111111
EXPOSE_GET_STATUS_UPDATES: false
112-
SAM_STACK_NAME: psu-pr-${{needs.get_issue_number.outputs.issue_number}}
112+
SAM_STACK_NAME: psu-api-pr-${{needs.get_issue_number.outputs.issue_number}}
113113
ENABLE_POST_DATED_NOTIFICATIONS: true
114114
REQUIRE_APPLICATION_NAME: false
115115
ENABLE_BACKUP: false
@@ -126,7 +126,7 @@ jobs:
126126
with:
127127
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
128128
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
129-
STACK_NAME: psu-cdk-pr-${{needs.get_issue_number.outputs.issue_number}}-stateful
129+
STACK_NAME: psu-api-pr-${{needs.get_issue_number.outputs.issue_number}}
130130
AWS_ENVIRONMENT: dev
131131
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
132132
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
@@ -222,7 +222,7 @@ jobs:
222222
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
223223
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
224224
APP_NAME: PsuApiSandboxApp
225-
STACK_NAME: psu-pr-${{needs.get_issue_number.outputs.issue_number}}-sandbox
225+
STACK_NAME: psu-api-pr-${{needs.get_issue_number.outputs.issue_number}}-sandbox
226226
AWS_ENVIRONMENT: dev
227227
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
228228
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}

packages/cdk/bin/PsuApiApp.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,19 @@ import {PsuApiStatefulStack} from "../stacks/PsuApiStatefulStack"
1010

1111
type StackMode = "stateless" | "stateful"
1212

13+
function mergeStackModeIntoStackName(baseStackName: string, stackMode: StackMode): string {
14+
const pullRequestSuffixMatch = baseStackName.match(/-pr-\d+$/i)
15+
16+
if (!pullRequestSuffixMatch) {
17+
return `${baseStackName}-${stackMode}`
18+
}
19+
20+
const pullRequestSuffix = pullRequestSuffixMatch[0]
21+
const stackNameWithoutPullRequestSuffix = baseStackName.slice(0, -pullRequestSuffix.length)
22+
23+
return `${stackNameWithoutPullRequestSuffix}-${stackMode}${pullRequestSuffix}`
24+
}
25+
1326
function getStackMode(): StackMode {
1427
const stackMode = getConfigFromEnvVar("stackMode", undefined, "stateless")
1528

@@ -29,11 +42,13 @@ async function main() {
2942
})
3043

3144
const stackMode = getStackMode()
45+
const baseStackName = getConfigFromEnvVar("stackName")
46+
const modeAwareStackName = mergeStackModeIntoStackName(baseStackName, stackMode)
3247

3348
if (stackMode === "stateless") {
3449
new PsuApiStatelessStack(app, "PsuApiStatelessStack", {
3550
...props,
36-
stackName: calculateVersionedStackName(getConfigFromEnvVar("stackName"), props),
51+
stackName: calculateVersionedStackName(modeAwareStackName, props),
3752
samStackName: getConfigFromEnvVar("samStackName"), // TODO: REMOVE THE NEED FOR THIS
3853
logRetentionInDays: getNumberConfigFromEnvVar("logRetentionInDays"),
3954
logLevel: getConfigFromEnvVar("logLevel"),
@@ -55,7 +70,7 @@ async function main() {
5570
// creating a new stack per version.
5671
new PsuApiStatefulStack(app, "PsuApiStatefulStack", {
5772
...props,
58-
stackName: getConfigFromEnvVar("stackName"),
73+
stackName: modeAwareStackName,
5974
logRetentionInDays: getNumberConfigFromEnvVar("logRetentionInDays"),
6075
environment: getConfigFromEnvVar("environment"),
6176
enableDynamoDBAutoScaling: getBooleanConfigFromEnvVar("enableDynamoDBAutoScaling", undefined, "false"),

0 commit comments

Comments
 (0)