1212 branches : [main]
1313
1414env :
15- NODE_VERSION : ' 18 '
15+ NODE_VERSION : ' 20 '
1616
1717jobs :
1818 test :
5959 COMMIT_SHORT="${{ github.sha }}"
6060 COMMIT_SHORT="${COMMIT_SHORT:0:7}"
6161
62- curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF
62+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z)
63+
64+ cat > payload.json << EOF
6365 {
6466 "embeds": [{
6567 "title": "🧪 AI Commit Generator - Test Phase",
@@ -82,10 +84,13 @@ jobs:
8284 "inline": true
8385 }
8486 ],
85- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z) "
87+ "timestamp": "$TIMESTAMP "
8688 }]
8789 }
8890 EOF
91+
92+ curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json
93+ rm payload.json
8994 fi
9095
9196 publish :
@@ -110,8 +115,8 @@ jobs:
110115 rm -rf node_modules package-lock.json
111116 npm install
112117
113- - name : Install VSCE
114- run : npm install -g vsce
118+ - name : Install VSCE (latest)
119+ run : npm install -g @vscode/ vsce@latest
115120
116121 - name : Check version changes
117122 id : version-check
@@ -133,7 +138,9 @@ jobs:
133138 DISCORD_WEBHOOK : ${{ secrets.DISCORD_WEBHOOK }}
134139 run : |
135140 if [ -n "$DISCORD_WEBHOOK" ]; then
136- curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF
141+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z)
142+
143+ cat > payload.json << EOF
137144 {
138145 "embeds": [{
139146 "title": "⚠️ AI Commit Generator - Version Skipped",
@@ -151,29 +158,32 @@ jobs:
151158 "inline": true
152159 }
153160 ],
154- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z) "
161+ "timestamp": "$TIMESTAMP "
155162 }]
156163 }
157164 EOF
165+
166+ curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json
167+ rm payload.json
158168 fi
159169
160- - name : Package extension
170+ - name : Package extension with VSCE
161171 if : steps.version-check.outputs.version_changed == 'true'
162172 run : |
163173 npm run package
164- vsce package
174+ vsce package --no-dependencies
165175
166176 - name : Publish to Visual Studio Marketplace
167177 if : steps.version-check.outputs.version_changed == 'true'
168178 env :
169179 VSCE_PAT : ${{ secrets.VSCE_PAT }}
170180 run : |
171- vsce publish --pat $VSCE_PAT
181+ vsce publish --pat $VSCE_PAT --no-dependencies
172182
173183 - name : Create GitHub Release
174184 if : steps.version-check.outputs.version_changed == 'true'
175185 id : create-release
176- uses : softprops/action-gh-release@v1
186+ uses : softprops/action-gh-release@v2
177187 env :
178188 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
179189 with :
@@ -198,21 +208,15 @@ jobs:
198208 files : |
199209 ./ai-commit-generator-${{ steps.version-check.outputs.current_version }}.vsix
200210
201- - name : Create Git Tag
202- if : steps.version-check.outputs.version_changed == 'true'
203- run : |
204- git config --local user.email "[email protected] " 205- git config --local user.name "GitHub Action"
206- git tag v${{ steps.version-check.outputs.current_version }}
207- git push origin v${{ steps.version-check.outputs.current_version }}
208-
209211 - name : Send Discord notification - Success
210212 if : steps.version-check.outputs.version_changed == 'true' && success()
211213 env :
212214 DISCORD_WEBHOOK : ${{ secrets.DISCORD_WEBHOOK }}
213215 run : |
214216 if [ -n "$DISCORD_WEBHOOK" ]; then
215- curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF
217+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z)
218+
219+ cat > payload.json << EOF
216220 {
217221 "embeds": [{
218222 "title": "🚀 AI Commit Generator - Published Successfully!",
@@ -238,10 +242,13 @@ jobs:
238242 "footer": {
239243 "text": "Deployed by ${{ github.actor }}"
240244 },
241- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z) "
245+ "timestamp": "$TIMESTAMP "
242246 }]
243247 }
244248 EOF
249+
250+ curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json
251+ rm payload.json
245252 fi
246253
247254 - name : Send Discord notification - Failure
@@ -250,7 +257,9 @@ jobs:
250257 DISCORD_WEBHOOK : ${{ secrets.DISCORD_WEBHOOK }}
251258 run : |
252259 if [ -n "$DISCORD_WEBHOOK" ]; then
253- curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF
260+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z)
261+
262+ cat > payload.json << EOF
254263 {
255264 "embeds": [{
256265 "title": "❌ AI Commit Generator - Publish Failed",
@@ -276,8 +285,11 @@ jobs:
276285 "footer": {
277286 "text": "Attempted by ${{ github.actor }}"
278287 },
279- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z) "
288+ "timestamp": "$TIMESTAMP "
280289 }]
281290 }
282291 EOF
292+
293+ curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json
294+ rm payload.json
283295 fi
0 commit comments