v7.1.0 #94
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: QPP Measures Data Publish | |
on: | |
release: | |
types: [published] | |
jobs: | |
publish-npm: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Codebase | |
uses: actions/checkout@v4 | |
- name: Configure Node version and registry | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
registry-url: "https://registry.npmjs.org" | |
- name: Install Dependencies | |
run: npm ci | |
- name: Publish to NPM | |
if: ${{ !env.ACT }} | |
run: npm publish | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
dump-github-context: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Dump GitHub context | |
env: | |
GITHUB_CONTEXT: ${{ toJson(github) }} | |
run: | | |
echo "$GITHUB_CONTEXT" | |
# Make an announcement to other repositories of interest | |
repo-dispatch: | |
runs-on: ubuntu-latest | |
needs: publish-npm | |
strategy: | |
matrix: | |
repo: | |
# - CMSgov/qpp-scoring-engines | |
# - CMSgov/beneficiary-reporting-api | |
- CMSgov/qpp-submissions-api | |
# - CMSgov/self-nomination-api | |
# - CMSgov/beneficiary-reporting-client | |
# - CMSgov/qpp-submission-client | |
# - CMSgov/claims-to-quality-analyzer | |
# - CMSgov/qpp-ui | |
steps: | |
- name: Repository Dispatch | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.GH_USER_TOKEN }} | |
repository: ${{ matrix.repo }} | |
event-type: lib-update-event | |
client-payload: '{"ref": "${{ github.ref }}", "private_package": "@CMSGov/qpp-measures-data", "public_package":"qpp-measures-data" ,"tag_name": "${{ github.event.release.tag_name }}", "html_url": "${{github.event.release.html_url}}"}' | |
# make an announcement to relevant slack channels | |
notify-slack: | |
runs-on: ubuntu-latest | |
needs: publish-npm | |
steps: | |
- name: Notify APP Submissions API Channel | |
if: ${{ !env.ACT }} | |
uses: rtCamp/action-slack-notify@96d5e2a64fc78a6b7ac13265f55bee296869967a #v2.0.2 | |
env: | |
SLACK_WEBHOOK: ${{ secrets.SUBMISSIONS_API_SLACK_WEBHOOK }} | |
SLACK_CHANNEL: "p-qppsf-api" | |
SLACK_MESSAGE: "`qpp-measures-data` has been updated to version <${{github.event.release.html_url}}|${{ github.event.release.tag_name }}>" | |
SLACK_TITLE: New qpp-measures-data release | |
SLACK_USERNAME: releaseNotify | |
# merge develop into main | |
merge-and-push: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
ref: 'develop' | |
- name: Configure user name and email | |
run: | | |
git config --global user.name 'github-actions' | |
git config --global user.email '[email protected]' | |
- name: Update version in package.json and package-lock.json | |
run: | | |
VERSION=${{ github.event.release.tag_name }} | |
echo "Updating version to $VERSION" | |
# Update version in package.json | |
jq --arg version "$VERSION" '.version = $version' package.json > temp.json && mv temp.json package.json | |
# Update version in package-lock.json | |
jq --arg version "$VERSION" '.version = $version' package-lock.json > temp-lock.json && mv temp-lock.json package-lock.json | |
# Check if there are changes (version was actually updated) | |
git diff --exit-code || HAS_CHANGES=1 | |
if [ "$HAS_CHANGES" ]; then | |
git add package.json package-lock.json | |
git commit -m "Update version to $VERSION" | |
git push | |
else | |
echo "Version is already up to date." | |
fi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Merge develop branch into main | |
run: | | |
git fetch origin develop:develop | |
git checkout main | |
git merge --no-ff develop -m "Merging develop into main via GitHub Action" | |
- name: Push changes | |
run: git push origin main |