From fe9b8bcbf11f60631cb5d87ce183111a7e3f69cc Mon Sep 17 00:00:00 2001 From: Duong Tran Date: Tue, 5 Aug 2025 21:07:30 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore:=20update=20GitHub=20Actio?= =?UTF-8?q?ns=20publish=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish.yml | 58 +++++++++++++++++++++-------------- README.md | 2 +- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a87717d..7e08924 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,7 +12,7 @@ on: branches: [main] env: - NODE_VERSION: '18' + NODE_VERSION: '20' jobs: test: @@ -59,7 +59,9 @@ jobs: COMMIT_SHORT="${{ github.sha }}" COMMIT_SHORT="${COMMIT_SHORT:0:7}" - curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF + TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z) + + cat > payload.json << EOF { "embeds": [{ "title": "๐Ÿงช AI Commit Generator - Test Phase", @@ -82,10 +84,13 @@ jobs: "inline": true } ], - "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z)" + "timestamp": "$TIMESTAMP" }] } EOF + + curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json + rm payload.json fi publish: @@ -110,8 +115,8 @@ jobs: rm -rf node_modules package-lock.json npm install - - name: Install VSCE - run: npm install -g vsce + - name: Install VSCE (latest) + run: npm install -g @vscode/vsce@latest - name: Check version changes id: version-check @@ -133,7 +138,9 @@ jobs: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} run: | if [ -n "$DISCORD_WEBHOOK" ]; then - curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF + TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z) + + cat > payload.json << EOF { "embeds": [{ "title": "โš ๏ธ AI Commit Generator - Version Skipped", @@ -151,29 +158,32 @@ jobs: "inline": true } ], - "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z)" + "timestamp": "$TIMESTAMP" }] } EOF + + curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json + rm payload.json fi - - name: Package extension + - name: Package extension with VSCE if: steps.version-check.outputs.version_changed == 'true' run: | npm run package - vsce package + vsce package --no-dependencies - name: Publish to Visual Studio Marketplace if: steps.version-check.outputs.version_changed == 'true' env: VSCE_PAT: ${{ secrets.VSCE_PAT }} run: | - vsce publish --pat $VSCE_PAT + vsce publish --pat $VSCE_PAT --no-dependencies - name: Create GitHub Release if: steps.version-check.outputs.version_changed == 'true' id: create-release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -198,21 +208,15 @@ jobs: files: | ./ai-commit-generator-${{ steps.version-check.outputs.current_version }}.vsix - - name: Create Git Tag - if: steps.version-check.outputs.version_changed == 'true' - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git tag v${{ steps.version-check.outputs.current_version }} - git push origin v${{ steps.version-check.outputs.current_version }} - - name: Send Discord notification - Success if: steps.version-check.outputs.version_changed == 'true' && success() env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} run: | if [ -n "$DISCORD_WEBHOOK" ]; then - curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF + TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z) + + cat > payload.json << EOF { "embeds": [{ "title": "๐Ÿš€ AI Commit Generator - Published Successfully!", @@ -238,10 +242,13 @@ jobs: "footer": { "text": "Deployed by ${{ github.actor }}" }, - "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z)" + "timestamp": "$TIMESTAMP" }] } EOF + + curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json + rm payload.json fi - name: Send Discord notification - Failure @@ -250,7 +257,9 @@ jobs: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} run: | if [ -n "$DISCORD_WEBHOOK" ]; then - curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @- << EOF + TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%S.000Z) + + cat > payload.json << EOF { "embeds": [{ "title": "โŒ AI Commit Generator - Publish Failed", @@ -276,8 +285,11 @@ jobs: "footer": { "text": "Attempted by ${{ github.actor }}" }, - "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%S.000Z)" + "timestamp": "$TIMESTAMP" }] } EOF + + curl -H "Content-Type: application/json" -X POST "$DISCORD_WEBHOOK" -d @payload.json + rm payload.json fi diff --git a/README.md b/README.md index 72ed251..fb35542 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ Run the "Open AI Commit Config" command to create a configuration file. ```bash # Clone repository -git clone +git clone https://github.com/DTDucas/ai-commit cd ai-commit-generator # Install dependencies