Skip to content

Commit

Permalink
chore: combine fail and success message into single job
Browse files Browse the repository at this point in the history
  • Loading branch information
jenniferarnesen committed Aug 13, 2024
1 parent 2e63ab4 commit 8ce1314
Showing 1 changed file with 105 additions and 49 deletions.
154 changes: 105 additions & 49 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- 'master'
- 'chore/new-gh-workflows'

env:
GIT_AUTHOR_NAME: '@dhis2-bot'
Expand Down Expand Up @@ -84,74 +85,129 @@ jobs:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
PR_TITLE: ${{ format('Direct push to {0}', github.ref_name) }}

call-workflow-e2e-prod:
if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
needs: [build, lint, test, setup-matrix]
uses: dhis2/workflows/.github/workflows/analytics-e2e-tests-prod.yml@master
with:
should_record: ${{ contains(github.event.head_commit.message, '[e2e record]') }}
spec-group: ${{ needs.setup-matrix.outputs.matrix }}
secrets:
username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}
recordkey: ${{ secrets.CYPRESS_RECORD_KEY }}
reportportal_api_key: ${{ secrets.REPORTPORTAL_API_KEY }}
reportportal_endpoint: ${{ vars.REPORTPORTAL_ENDPOINT }}
reportportal_project: ${{ vars.REPORTPORTAL_PROJECT }}

release:
# call-workflow-e2e-prod:
# if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
# needs: [build, lint, test, setup-matrix]
# uses: dhis2/workflows/.github/workflows/analytics-e2e-tests-prod.yml@master
# with:
# should_record: ${{ contains(github.event.head_commit.message, '[e2e record]') }}
# spec-group: ${{ needs.setup-matrix.outputs.matrix }}
# secrets:
# username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
# password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}
# recordkey: ${{ secrets.CYPRESS_RECORD_KEY }}
# reportportal_api_key: ${{ secrets.REPORTPORTAL_API_KEY }}
# reportportal_endpoint: ${{ vars.REPORTPORTAL_ENDPOINT }}
# reportportal_project: ${{ vars.REPORTPORTAL_PROJECT }}

# release:
# runs-on: ubuntu-latest
# needs: call-workflow-e2e-prod
# if: ${{ !github.event.push.repository.fork && github.actor != 'dependabot[bot]' }}
# steps:
# - uses: actions/checkout@v3
# with:
# token: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}

# - uses: actions/setup-node@v3
# with:
# node-version: 18.x

# - name: Install
# run: yarn install --frozen-lockfile

# - name: Run Semantic Release
# run: npx semantic-release
# env:
# GITHUB_TOKEN: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}

# - name: Publish to AppHub
# run: yarn run d2-app-scripts publish

report-release-result:
runs-on: ubuntu-latest
needs: call-workflow-e2e-prod
if: ${{ !github.event.push.repository.fork && github.actor != 'dependabot[bot]' }}
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}

- uses: actions/setup-node@v3
with:
node-version: 18.x

- name: Install
run: yarn install --frozen-lockfile

- name: Run Semantic Release
run: npx semantic-release
env:
GITHUB_TOKEN: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}

- name: Publish to AppHub
run: yarn run d2-app-scripts publish

report-release-failure:
runs-on: ubuntu-latest
needs: release
if: ${{ failure() && !cancelled() }}
needs: test
if: |
!cancelled() &&
github.ref == 'refs/heads/master' &&
contains(github.event.head_commit.message, 'chore(release)')
steps:
- name: Checkout code
uses: actions/checkout@master

- name: Extract version
if: success()
id: extract_version
uses: Saionaro/[email protected]

- name: Send failure message to analytics-internal-bot slack channel
id: slack
- name: Send success message to analytics-internal-bot slack channel
if: success()
id: slack_success
uses: slackapi/[email protected]
with:
channel-id: ${{ secrets.SLACK_CHANNEL_ID }}
payload: |
{
"text": ":small_red_triangle_down: :maps-app: Maps release <https://github.com/dhis2/maps-app/actions/workflows/dhis2-verify-app.yml?query=branch%3Amaster+is%3Afailure|failed>",
"text": "Maps app release ${{ steps.extract_version.outputs.version }} succeeded",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": ":large_green_circle: :maps-app: Maps version ${{ steps.extract_version.outputs.version }} released :tada:",
"emoji": true
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ":small_red_triangle_down: :maps-app: Maps release <https://github.com/dhis2/maps-app/actions/workflows/dhis2-verify-app.yml?query=branch%3Amaster+is%3Afailure|failed>"
"type": "mrkdwn",
"text": "*Release Notes*"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ${{ toJSON(github.event.head_commit.message) }}
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Link to <https://github.com/dhis2/maps-app/actions/workflows/dhis2-verify-app.yml?query=branch%3Amaster+is%3Asuccess|build>"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}

- name: Send failure message to analytics-internal-bot slack channel
if: ${{ failure() && !cancelled() }}
id: slack_failure
uses: slackapi/[email protected]
with:
channel-id: ${{ secrets.SLACK_CHANNEL_ID }}
payload: |
{
"text": ":small_red_triangle_down: :maps-app: Maps release <https://github.com/dhis2/maps-app/actions/workflows/dhis2-verify-app.yml?query=branch%3Amaster+is%3Afailure|failed>",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ":small_red_triangle_down: :maps-app: Maps release <https://github.com/dhis2/maps-app/actions/workflows/dhis2-verify-app.yml?query=branch%3Amaster+is%3Afailure|failed>"
}
}
}
]
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}

0 comments on commit 8ce1314

Please sign in to comment.