Skip to content

Commit a1edbf3

Browse files
authored
Merge pull request #1603 from CMSgov/release/v2026.02.17.01
Deploy Release version v2026.02.17.01 to Prod
2 parents 2a3ab05 + 4b9e88c commit a1edbf3

35 files changed

Lines changed: 1306 additions & 665 deletions

File tree

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 64 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,64 @@
1-
### Information
2-
- Fixes #_.
3-
- JIRA story _.
4-
5-
### Changes proposed in this PR:
6-
- *(Please list what you changed.)*
7-
-
8-
-
9-
10-
### Checklist
11-
- [ ] All JUnit tests pass (`mvn clean verify`).
12-
- [ ] New unit tests written to cover new functionality.
13-
- [ ] Added and updated JavaDocs for non-test classes and methods.
14-
- [ ] No local design debt. Do you feel that something is "ugly" after your changes?
15-
- [ ] Updated documentation (`README.md`, etc.) depending if the changes require it.
1+
<!--
2+
For Work In Progress Pull Requests, please use the Draft PR feature,
3+
see https://github.blog/2019-02-14-introducing-draft-pull-requests/ for further details.
4+
5+
Before submitting a Pull Request, please ensure you've done the following:
6+
- 👷‍♀️ Create small PRs when possible.
7+
- ✅ Provide tests for your changes.
8+
- 📝 Use descriptive commit messages.
9+
- 📗 Update any related documentation.
10+
-->
11+
12+
## Related Tickets & Documents
13+
<!--
14+
Mandatory if the ticket exists. Otherwise, the description section **must** contain the details.
15+
-->
16+
https://jira.cms.gov/browse/QPPA-XXXX
17+
18+
---
19+
20+
## Description
21+
See ticket description.
22+
23+
---
24+
## What type of PR is this?
25+
<!--
26+
(mark 'x' all applicable)
27+
-->
28+
- [ ] 🍕 Feature
29+
- [ ] 🐛 Bug Fix
30+
- [ ] 📝 Documentation Update
31+
- [ ] 🧑‍💻 Code Refactor
32+
- [ ] 🔥 Performance Improvements
33+
- [ ] ✅ Test
34+
- [ ] 🤖 Build
35+
- [ ] 🔁 CI
36+
- [ ] 📦 Chore
37+
- [ ] ⏩ Revert
38+
39+
---
40+
41+
## Added tests?
42+
- [ ] 👍 yes
43+
- [ ] 🙅 no, because they aren't needed
44+
- [ ] 🙋 no, because I need help
45+
---
46+
47+
## Added to documentation?
48+
- [ ] 📜 README.md
49+
- [ ] 📓 Confluence
50+
- [ ] 🙅 no documentation needed
51+
52+
---
53+
### [ ⌥ Optional ] Are there any post-deployment tasks we need to perform?
54+
---
55+
56+
57+
### [ ⌥ Optional] What gif best describes this PR or how it makes you feel?
58+
59+
* For Chromium users: https://chrome.google.com/webstore/detail/gifs-for-github/dkgjnpbipbdaoaadbdhpiokaemhlphep
60+
* For Firefox users: https://addons.mozilla.org/en-US/firefox/addon/gifs-for-github
61+
* After installing the extension, click on the "GIF" button in the comment box and search for a gif that describes your PR!
62+
63+
64+
<img src="https://media2.giphy.com/media/CkMnLcOgKOxfa/giphy.gif"/>

.github/workflows/codebuild-trigger-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
build:
8-
name: conversion tool codebuil job
8+
name: conversion tool codebuild job
99
permissions:
1010
id-token: write
1111
contents: read

.github/workflows/codebuild-trigger-devpre.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
build:
8-
name: conversion tool codebuil job
8+
name: conversion tool codebuild job
99
permissions:
1010
id-token: write
1111
contents: read

.github/workflows/codebuild-trigger-impl.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
build:
8-
name: conversion tool codebuil job
8+
name: conversion tool codebuild job
99
permissions:
1010
id-token: write
1111
contents: read
@@ -25,4 +25,4 @@ jobs:
2525

2626
- name: Execute ssh command
2727
run: |
28-
aws codebuild start-build --project-name "qppa-conversion-tool-impl" --source-version "${GITHUB_REF##*/}"
28+
aws codebuild start-build --project-name "qppa-conversion-tool-impl" --source-version "release/${GITHUB_REF##*/}"

.github/workflows/codebuild-trigger-prod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
build:
8-
name: conversion tool codebuil job
8+
name: conversion tool codebuild job
99
permissions:
1010
id-token: write
1111
contents: read
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: "Draft new release"
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "The version you want to release."
8+
required: true
9+
10+
jobs:
11+
draft-new-release:
12+
name: "Draft a new release"
13+
runs-on: ubuntu-latest
14+
if: github.ref_name == 'develop'
15+
outputs:
16+
commitSha: ${{ steps.make-commit.outputs.commit }}
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
token: ${{ secrets.ACTIONS_NICHOLAS_PAT }}
21+
22+
- name: Create release branch
23+
run: |
24+
git checkout -b release/v${{ github.event.inputs.version }};
25+
26+
- name: Create draft release
27+
uses: release-drafter/release-drafter@v6
28+
with:
29+
config-name: release-draft.yml
30+
version: v${{ github.event.inputs.version }}
31+
tag: v${{ github.event.inputs.version }}
32+
name: v${{ github.event.inputs.version }}
33+
prerelease: false
34+
publish: false
35+
env:
36+
GITHUB_TOKEN: ${{ secrets.ACTIONS_NICHOLAS_PAT }}
37+
38+
- name: Set up JDK 17
39+
uses: actions/setup-java@v4
40+
with:
41+
java-version: "17"
42+
distribution: "corretto"
43+
cache: 'maven'
44+
45+
- name: Bump version in pom.xml files
46+
run: |
47+
48+
# Update parent and child module pom.xml files
49+
echo "Updating version in parent and module pom.xml files to ${{ github.event.inputs.version }}-RELEASE..."
50+
mvn versions:set -DnewVersion=${{ github.event.inputs.version }}-RELEASE -DgenerateBackupPoms=false
51+
52+
# Update standalone module pom.xml files
53+
echo "Updating standalone module versions..."
54+
mvn versions:set -DnewVersion=${{ github.event.inputs.version }}-RELEASE -DgenerateBackupPoms=false -f acceptance-tests/pom.xml
55+
mvn versions:set -DnewVersion=${{ github.event.inputs.version }}-RELEASE -DgenerateBackupPoms=false -f generate-race-cpcplus/pom.xml
56+
mvn versions:set -DnewVersion=${{ github.event.inputs.version }}-RELEASE -DgenerateBackupPoms=false -f qrda3-update-measures/pom.xml
57+
echo "Version update complete."
58+
59+
# In order to make a commit, we need to initialize a user.
60+
# You may choose to write something less generic here if you want, it doesn't matter functionality-wise.
61+
- name: Initialize mandatory git config
62+
run: |
63+
git config user.name "GitHub actions"
64+
git config user.email noreply@github.com
65+
66+
- name: Commit pom files
67+
run: |
68+
git add '**/pom.xml' pom.xml
69+
git commit --message "Prepare release v${{ github.event.inputs.version }}"
70+
71+
- name: Fetch commit hash
72+
id: make-commit
73+
run: echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
74+
75+
- name: Push new branch
76+
run: |
77+
git push origin release/v${{ github.event.inputs.version }}
78+
79+
- name: Create pull request to master branch
80+
uses: thomaseizinger/create-pull-request@1.4.0
81+
env:
82+
GITHUB_TOKEN: ${{ secrets.ACTIONS_NICHOLAS_PAT }} # MUST use a PAT here in order to trigger the next workflow: CodeBuild Trigger; see https://docs.github.com/en/actions/using-workflows/triggering-a-workflow
83+
with:
84+
head: release/v${{ github.event.inputs.version }}
85+
base: master
86+
draft: true
87+
title: Deploy Release version v${{ github.event.inputs.version }} to Prod
88+
body: |
89+
Hi @${{ github.actor }}!
90+
91+
This PR was created in response to a manual trigger of the release workflow here: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}.
92+
The changelog was updated and the version was bumped in the manifest files in this commit: ${{ steps.make-commit.outputs.commit }}.
93+
94+
Merging this PR will create a GitHub release.

.github/workflows/draft-release.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Publish GitHub Release and Backfill
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
publish_and_backfill:
10+
name: Publish GitHub release and create backfill PR
11+
runs-on: ubuntu-latest
12+
steps:
13+
14+
- name: Checkout codebase
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Get latest draft release
20+
id: get_release
21+
run: |
22+
# Get the latest draft release
23+
RELEASE_DATA=$(gh release list --limit 1 --json isDraft,tagName,name | jq -r '.[0]')
24+
IS_DRAFT=$(echo "$RELEASE_DATA" | jq -r '.isDraft')
25+
TAG_NAME=$(echo "$RELEASE_DATA" | jq -r '.tagName')
26+
27+
echo "is_draft=${IS_DRAFT}" >> $GITHUB_OUTPUT
28+
echo "tag_name=${TAG_NAME}" >> $GITHUB_OUTPUT
29+
echo "Found release: ${TAG_NAME} (draft: ${IS_DRAFT})"
30+
env:
31+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
33+
- name: Publish draft release
34+
if: steps.get_release.outputs.is_draft == 'true'
35+
run: |
36+
gh release edit ${{ steps.get_release.outputs.tag_name }} --draft=false --latest
37+
echo "Published release ${{ steps.get_release.outputs.tag_name }} as latest"
38+
env:
39+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40+
41+
- name: Create backfill PR to develop
42+
run: |
43+
# Check if a PR already exists
44+
EXISTING_PR=$(gh pr list --base develop --head master --json number --jq '.[0].number' || echo "")
45+
46+
if [ -n "$EXISTING_PR" ]; then
47+
echo "PR #${EXISTING_PR} already exists for master -> develop"
48+
exit 0
49+
fi
50+
51+
# Create the backfill PR
52+
gh pr create \
53+
--base develop \
54+
--head master \
55+
--title "Backfill master into develop" \
56+
--body "This PR backfills changes from master into develop after production deployment.
57+
58+
## Changes
59+
This includes all changes that were merged to master.
60+
61+
## Notes
62+
- Review for any conflicts
63+
- Merge after verifying all changes are appropriate for develop branch"
64+
65+
echo "Created backfill PR from master to develop"
66+
env:
67+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

acceptance-tests/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<artifactId>acceptance-tests</artifactId>
55
<groupId>gov.cms.qpp.conversion</groupId>
6-
<version>2026.01.28.01-RELEASE</version>
6+
<version>2026.02.17.01-RELEASE</version>
77
<name>conversion-tests</name>
88
<packaging>jar</packaging>
99
<properties>

buildspec/build_deploy.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ phases:
6060
fi
6161
- echo "${CLUSTER_NAME}"
6262
- SERVICE_NAME="${ENV}-conversion-tool"
63-
- BRANCH=$(echo "${CODEBUILD_SOURCE_VERSION}")
63+
# Extract the branch name from the CodeBuild source version. The source version is in the format "branch/branch-name" for GitHub source, so we can use 'sed' to remove the "branch/" prefix and get just the branch name.
64+
- BRANCH=$(echo "${CODEBUILD_SOURCE_VERSION}" | sed 's/.*\///')
6465
- echo ${CODEBUILD_RESOLVED_SOURCE_VERSION}
6566
- echo "${BRANCH}"
6667
- COMMIT_SHORT_SHA=$(echo "${CODEBUILD_RESOLVED_SOURCE_VERSION}" | cut -c1-7)

0 commit comments

Comments
 (0)