99jobs :
1010 release :
1111 runs-on : ubuntu-latest
12+ permissions :
13+ contents : write
14+ pull-requests : write
15+ outputs :
16+ release_created : ${{ steps.release.outputs.release_created }}
17+ tag_name : ${{ steps.release.outputs.tag_name }}
1218
1319 steps :
1420 - uses : actions/checkout@v4
@@ -23,49 +29,47 @@ jobs:
2329 release-type : node
2430 default-branch : master
2531
26- # The logic below handles the npm publication:
27- - uses : actions/setup-node@v4
28- with :
29- node-version : ' 20.x'
30- registry-url : ' https://registry.npmjs.org'
31- # these if statements ensure that a publication only occurs when
32- # a new release is created:
33- if : ${{ steps.release.outputs.release_created }}
34- - run : npm run build-all
35- if : ${{ steps.release.outputs.release_created }}
36- - run : npm publish
37- env :
38- NODE_AUTH_TOKEN : ${{secrets.NPM_TOKEN}}
39- if : ${{ steps.release.outputs.release_created }}
32+ publish :
33+ needs : release
34+ if : ${{ needs.release.outputs.release_created == 'true' }}
35+ uses : ./.github/workflows/npm-publish.yml
36+
37+ notify :
38+ needs : [release, publish]
39+ if : ${{ always() && needs.release.outputs.release_created == 'true' }}
40+ runs-on : ubuntu-latest
41+
42+ steps :
43+ - uses : actions/checkout@v4
4044
4145 - name : Set Notification Messages
42- if : steps.release.outputs.release_created
4346 id : set-messages
4447 run : |
45- if [[ ${{ job.status }} == "success" ]]; then
46- echo "SLACK_TITLE=Video Player ${{ steps .release.outputs.tag_name }} Deployed" >> $GITHUB_OUTPUT
47- echo "SLACK_MESSAGE=Success :rocket: cloudinary-video-player version ${{ steps .release.outputs.tag_name }} deployed successfully" >> $GITHUB_OUTPUT
48+ if [[ " ${{ needs.publish.result }}" == "success" ]]; then
49+ echo "SLACK_TITLE=Video Player ${{ needs .release.outputs.tag_name }} Deployed" >> $GITHUB_OUTPUT
50+ echo "SLACK_MESSAGE=Success :rocket: cloudinary-video-player version ${{ needs .release.outputs.tag_name }} deployed successfully" >> $GITHUB_OUTPUT
4851 echo "SLACK_FOOTER=Check it out at https://cloudinary.github.io/cloudinary-video-player/?ver=latest&min=true" >> $GITHUB_OUTPUT
52+ echo "SLACK_COLOR=good" >> $GITHUB_OUTPUT
4953 else
5054 echo "SLACK_TITLE=Video Player Deployment Failed" >> $GITHUB_OUTPUT
51- echo "SLACK_MESSAGE=:alert: Failed to deploy cloudinary-video-player version ${{ steps.release.outputs.tag_name }}" >> $GITHUB_OUTPUT
52- echo "SLACK_FOOTER=See log here https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${{ github.job }}" >> $GITHUB_OUTPUT
55+ echo "SLACK_MESSAGE=:alert: Failed to deploy cloudinary-video-player version ${{ needs.release.outputs.tag_name }}" >> $GITHUB_OUTPUT
56+ echo "SLACK_FOOTER=See log here https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" >> $GITHUB_OUTPUT
57+ echo "SLACK_COLOR=danger" >> $GITHUB_OUTPUT
5358 fi
5459 shell : bash
5560
5661 - name : Slack Notification
57- if : steps.release.outputs.release_created
5862 uses : rtCamp/action-slack-notify@v2.2.0
5963 env :
6064 SLACK_WEBHOOK : ${{ vars.FE_DEPLOYMENTS_SLACK_WEBHOOK }}
6165 SLACK_CHANNEL : ' rnd-fe-releases'
62- SLACK_COLOR : ${{ job.status }}
66+ SLACK_COLOR : ${{ steps.set-messages.outputs.SLACK_COLOR }}
6367 SLACK_TITLE : ${{ steps.set-messages.outputs.SLACK_TITLE }}
6468 SLACK_MESSAGE : ${{ steps.set-messages.outputs.SLACK_MESSAGE }}
6569 SLACK_FOOTER : ${{ steps.set-messages.outputs.SLACK_FOOTER }}
6670
6771 - name : Purge jsDelivr Cache
68- if : steps.release.outputs.release_created
72+ if : ${{ needs.publish.result == 'success' }}
6973 uses : ./.github/actions/purge-jsdelivr
7074 with :
7175 package : cloudinary-video-player
0 commit comments