Skip to content

Commit fea2641

Browse files
fix: standardise ci.yml to use release_all_stacks pattern
1 parent 64e69c2 commit fea2641

File tree

3 files changed

+40
-83
lines changed

3 files changed

+40
-83
lines changed

.github/workflows/ci.yml

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
4141
with:
4242
asdf_branch: v0.14.1
43-
43+
4444
- name: Cache asdf
4545
uses: actions/cache@v4
4646
with:
@@ -104,7 +104,7 @@ jobs:
104104

105105
release_dev:
106106
needs: [get_commit_id, tag_release, package_code]
107-
uses: ./.github/workflows/cdk_release_code.yml
107+
uses: ./.github/workflows/release_all_stacks.yml
108108
with:
109109
STACK_NAME: epsam
110110
TARGET_ENVIRONMENT: dev
@@ -113,13 +113,47 @@ jobs:
113113
CDK_APP_NAME: EpsAssistMeApp
114114
DEPLOY_CODE: true
115115
LOG_RETENTION_IN_DAYS: 30
116-
LOG_LEVEL: DEBUG
116+
LOG_LEVEL: "DEBUG"
117+
CREATE_INT_RELEASE_NOTES: false
118+
CREATE_PROD_RELEASE_NOTES: false
117119
MARK_JIRA_RELEASED: false
120+
CREATE_INT_RC_RELEASE_NOTES: false
121+
IS_PULL_REQUEST: false
118122
secrets:
119123
CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_DEPLOY_ROLE }}
120124
CDK_PULL_IMAGE_ROLE: ${{ secrets.DEV_CDK_PULL_IMAGE_ROLE }}
125+
DEV_CLOUD_FORMATION_CHECK_VERSION_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_CHECK_VERSION_ROLE }}
126+
INT_CLOUD_FORMATION_CHECK_VERSION_ROLE: ${{ secrets.INT_CLOUD_FORMATION_CHECK_VERSION_ROLE }}
127+
PROD_CLOUD_FORMATION_CHECK_VERSION_ROLE: ${{ secrets.PROD_CLOUD_FORMATION_CHECK_VERSION_ROLE }}
128+
DEV_CLOUD_FORMATION_EXECUTE_LAMBDA_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_EXECUTE_LAMBDA_ROLE }}
121129
REGRESSION_TESTS_PEM: ${{ secrets.REGRESSION_TESTS_PEM }}
130+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
131+
SLACK_SIGNING_SECRET: ${{ secrets.SLACK_SIGNING_SECRET }}
132+
133+
release_qa:
134+
needs: [get_commit_id, tag_release, package_code, release_dev]
135+
uses: ./.github/workflows/release_all_stacks.yml
136+
with:
137+
STACK_NAME: epsam
138+
TARGET_ENVIRONMENT: qa
139+
VERSION_NUMBER: ${{ needs.tag_release.outputs.version_tag }}
140+
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
141+
CDK_APP_NAME: EpsAssistMeApp
142+
DEPLOY_CODE: true
143+
LOG_RETENTION_IN_DAYS: 30
144+
LOG_LEVEL: "DEBUG"
145+
CREATE_INT_RELEASE_NOTES: false
146+
CREATE_PROD_RELEASE_NOTES: false
147+
MARK_JIRA_RELEASED: false
148+
CREATE_INT_RC_RELEASE_NOTES: false
149+
IS_PULL_REQUEST: false
150+
secrets:
151+
CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.QA_CLOUD_FORMATION_DEPLOY_ROLE }}
152+
CDK_PULL_IMAGE_ROLE: ${{ secrets.QA_CDK_PULL_IMAGE_ROLE }}
122153
DEV_CLOUD_FORMATION_CHECK_VERSION_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_CHECK_VERSION_ROLE }}
154+
INT_CLOUD_FORMATION_CHECK_VERSION_ROLE: ${{ secrets.INT_CLOUD_FORMATION_CHECK_VERSION_ROLE }}
155+
PROD_CLOUD_FORMATION_CHECK_VERSION_ROLE: ${{ secrets.PROD_CLOUD_FORMATION_CHECK_VERSION_ROLE }}
123156
DEV_CLOUD_FORMATION_EXECUTE_LAMBDA_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_EXECUTE_LAMBDA_ROLE }}
157+
REGRESSION_TESTS_PEM: ${{ secrets.REGRESSION_TESTS_PEM }}
124158
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
125159
SLACK_SIGNING_SECRET: ${{ secrets.SLACK_SIGNING_SECRET }}

.github/workflows/deploy-dev-auto.yml

Lines changed: 0 additions & 78 deletions
This file was deleted.

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,8 @@ Workflows are in the `.github/workflows` folder:
221221
- `pr_title_check.yml` Checks PR titles for required prefix and ticket or dependabot reference.
222222
- `pr-link.yml` This workflow template links Pull Requests to Jira tickets and runs when a pull request is opened.
223223
- `pull_request.yml` Called when pull request is opened or updated. Packages and deploys the code to dev AWS account for testing.
224-
- `release.yml` Runs on demand to create a release and deploy to all environments.
224+
- `release_all_stacks.yml` Reusable workflow for deploying to any environment with environment-specific approvals and configurations.
225+
- `release.yml` Runs on demand to create a release and deploy to INT and PROD environments with manual approval.
225226
- `cdk_package_code.yml` Packages code into a docker image and uploads to a github artifact for later deployment.
226227
- `cdk_release_code.yml` Release code built by cdk_package_code.yml to an environment.
227-
- `ci.yml` Continuous integration workflow for quality checks and testing.
228+
- `ci.yml` Merge to main workflow that automatically deploys to DEV and QA environments after quality checks.

0 commit comments

Comments
 (0)