16
16
default : false
17
17
type : boolean
18
18
19
+ # Manual Trigger
20
+ workflow_dispatch :
19
21
env :
20
- MODULE_ID : cbmarkdown
22
+ MODULE_ID : ${{ github.event.repository.name }}
23
+ JDK : 21
21
24
SNAPSHOT : ${{ inputs.snapshot || false }}
25
+ BUILD_ID : ${{ github.run_number }}
22
26
23
27
jobs :
24
28
# #########################################################################################
@@ -27,15 +31,26 @@ jobs:
27
31
build :
28
32
name : Build & Publish
29
33
runs-on : ubuntu-24.04
34
+ permissions :
35
+ checks : write
36
+ pull-requests : write
37
+ contents : write
38
+ issues : write
30
39
steps :
31
40
- name : Checkout Repository
32
- uses : actions/checkout@v3
41
+ uses : actions/checkout@v4
33
42
34
43
- name : Setup CommandBox
35
44
uses :
Ortus-Solutions/[email protected]
36
45
with :
37
46
forgeboxAPIKey : ${{ secrets.FORGEBOX_TOKEN }}
38
47
48
+ - name : Setup Java
49
+ uses : actions/setup-java@v4
50
+ with :
51
+ distribution : " temurin"
52
+ java-version : ${{ env.JDK }}
53
+
39
54
- name : " Setup Environment Variables For Build Process"
40
55
id : current_version
41
56
run : |
50
65
fi
51
66
52
67
- name : Update changelog [unreleased] with latest version
53
- uses : thomaseizinger/keep-a-changelog-new-release@1.3 .0
68
+ uses : thomaseizinger/keep-a-changelog-new-release@3.1 .0
54
69
if : env.SNAPSHOT == 'false'
55
70
with :
56
71
changelogPath : ./changelog.md
@@ -61,10 +76,10 @@ jobs:
61
76
npm install -g markdownlint-cli
62
77
markdownlint changelog.md --fix
63
78
box install commandbox-docbox
64
- box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ github.run_number }} :branch=${{ env.BRANCH }}
79
+ box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ env.BUILD_ID }} :branch=${{ env.BRANCH }}
65
80
66
- - name : Commit Changelog To Master
67
-
81
+ - name : Commit Changelog [unreleased] with latest version
82
+
68
83
if : env.SNAPSHOT == 'false'
69
84
with :
70
85
author_name : Github Actions
73
88
add : changelog.md
74
89
75
90
- name : Tag Version
76
- uses : rickstaa/action-create-tag@v1.6.1
91
+ uses : rickstaa/action-create-tag@v1.7.2
77
92
if : env.SNAPSHOT == 'false'
78
93
with :
79
94
tag : " v${{ env.VERSION }}"
82
97
83
98
- name : Upload Build Artifacts
84
99
if : success()
85
- uses : actions/upload-artifact@v3
100
+ uses : actions/upload-artifact@v4
86
101
with :
87
102
name : ${{ env.MODULE_ID }}
88
103
path : |
@@ -118,7 +133,7 @@ jobs:
118
133
box forgebox publish --force
119
134
120
135
- name : Create Github Release
121
- uses : taiki-e/create-gh-release-action@v1.6 .2
136
+ uses : taiki-e/create-gh-release-action@v1.8 .2
122
137
continue-on-error : true
123
138
if : env.SNAPSHOT == 'false'
124
139
with :
@@ -127,6 +142,18 @@ jobs:
127
142
token : ${{ secrets.GITHUB_TOKEN }}
128
143
ref : refs/tags/v${{ env.VERSION }}
129
144
145
+ - name : Inform Slack
146
+ if : ${{ always() }}
147
+ uses : rtCamp/action-slack-notify@v2
148
+ env :
149
+ SLACK_CHANNEL : coding
150
+ SLACK_COLOR : ${{ job.status }} # or a specific color like 'green' or '#ff00ff'
151
+ SLACK_ICON_EMOJI : " :bell:"
152
+ SLACK_MESSAGE : " Module ${{ env.MODULE_ID }} v${{ env.VERSION }} Built with ${{ job.status }}!"
153
+ SLACK_TITLE : " ColdBox Module ${{ env.MODULE_ID }}"
154
+ SLACK_USERNAME : CI
155
+ SLACK_WEBHOOK : ${{ secrets.SLACK_WEBHOOK_URL }}
156
+
130
157
# #########################################################################################
131
158
# Prep Next Release
132
159
# #########################################################################################
@@ -135,10 +162,15 @@ jobs:
135
162
if : github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
136
163
runs-on : ubuntu-24.04
137
164
needs : [ build ]
165
+ permissions :
166
+ checks : write
167
+ pull-requests : write
168
+ contents : write
169
+ issues : write
138
170
steps :
139
171
# Checkout development
140
172
- name : Checkout Repository
141
- uses : actions/checkout@v3
173
+ uses : actions/checkout@v4
142
174
with :
143
175
ref : development
144
176
@@ -148,7 +180,7 @@ jobs:
148
180
forgeboxAPIKey : ${{ secrets.FORGEBOX_TOKEN }}
149
181
150
182
- name : Download build artifacts
151
- uses : actions/download-artifact@v2
183
+ uses : actions/download-artifact@v4
152
184
with :
153
185
name : ${{ env.MODULE_ID }}
154
186
path : .tmp
@@ -165,7 +197,7 @@ jobs:
165
197
166
198
# Commit it back to development
167
199
- name : Commit Version Bump
168
-
200
+
169
201
with :
170
202
author_name : Github Actions
171
203
0 commit comments