From 03fdf85b410edb28e38e96d7103b4e685b085aeb Mon Sep 17 00:00:00 2001 From: Astrian Zheng Date: Wed, 21 May 2025 16:49:02 +1000 Subject: [PATCH] refactor: rename failed webhook job and enhance version messaging in npm publish workflow --- .gitea/workflows/publishToNpm.yaml | 31 ++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/publishToNpm.yaml b/.gitea/workflows/publishToNpm.yaml index 0870266..0ade92b 100644 --- a/.gitea/workflows/publishToNpm.yaml +++ b/.gitea/workflows/publishToNpm.yaml @@ -25,7 +25,7 @@ jobs: status: ${{ job.status }} - failed-webhook: + quality-failed-webhook: needs: quality runs-on: ubuntu-latest if: ${{ needs.quality.outputs.status == 'failure' }} @@ -79,6 +79,14 @@ jobs: run: | jq --arg name "@astrian/laterano-dev" '.name=$name' package.json > temp.json && mv temp.json package.json jq --arg version "0.0.0-dev.$(date +%s)" '.version=$version' package.json > temp.json && mv temp.json package.json + echo VERSION_CODE=$(jq -r '.version' package.json) >> $GITEA_ENV + echo PACKAGE_NAME=$(jq -r '.name' package.json) >> $GITEA_ENV + + - name: Get version code + if: GITEA.ref == 'refs/heads/main' + run: | + echo VERSION_CODE=$(jq -r '.version' package.json) >> $GITEA_ENV + echo PACKAGE_NAME="laterano" >> $GITEA_ENV - name: Publish to npm run: npm publish --access $ACCESS_LEVEL @@ -90,7 +98,7 @@ jobs: PACKAGE_NAME="${{ steps.package_name.outputs.PACKAGE_NAME }}" MSG_GROUP="Laterano CI/CD" MSG_TITLE="Package Published" - MSG_MESSAGE="Package $PACKAGE_NAME has been published to npm." + MSG_MESSAGE="Package $PACKAGE_NAME has been published to npm with version $VERSION_CODE" # URL-encode the message ENCODED_MESSAGE=$(echo "$MSG_MESSAGE" | sed 's/%/%25/g' | sed 's/ /%20/g' | sed 's/!/%21/g' | sed 's/"/%22/g' | sed 's/#/%23/g' | sed 's/\$/%24/g' | sed 's/&/%26/g' | sed 's/'"'"'/%27/g' | sed 's/(/%28/g' | sed 's/)/%29/g' | sed 's/\*/%2A/g' | sed 's/+/%2B/g' | sed 's/,/%2C/g' | sed 's/\//%2F/g' | sed 's/:/%3A/g' | sed 's/;/%3B/g' | sed 's/=/%3D/g' | sed 's/?/%3F/g' | sed 's/@/%40/g') @@ -102,3 +110,22 @@ jobs: curl -X GET "https://bark.nas.astrian.moe/${{ secrets.BARK_TOKEN }}/${ENCODED_TITLE}/${ENCODED_MESSAGE}?group=${ENCODED_GROUP}" + publish-failed-webhook: + needs: publish + runs-on: ubuntu-latest + if: ${{ needs.publish.outputs.status == 'failure' }} + steps: + - name: Send webhook + run: | + PACKAGE_NAME="${{ steps.package_name.outputs.PACKAGE_NAME }}" + MSG_GROUP="Laterano CI/CD" + MSG_TITLE="Package Publish Failed" + MSG_MESSAGE="Package $PACKAGE_NAME failed to publish to npm with version $VERSION_CODE" + + # URL-encode the message + ENCODED_MESSAGE=$(echo "$MSG_MESSAGE" | sed 's/%/%25/g' | sed 's/ /%20/g' | sed 's/!/%21/g' | sed 's/"/%22/g' | sed 's/#/%23/g' | sed 's/\$/%24/g' | sed 's/&/%26/g' | sed 's/'"'"'/%27/g' | sed 's/(/%28/g' | sed 's/)/%29/g' | sed 's/\*/%2A/g' | sed 's/+/%2B/g' | sed 's/,/%2C/g' | sed 's/\//%2F/g' | sed 's/:/%3A/g' | sed 's/;/%3B/g' | sed 's/=/%3D/g' | sed 's/?/%3F/g' | sed 's/@/%40/g') + ENCODED_GROUP=$(echo "$MSG_GROUP" | sed 's/%/%25/g' | sed 's/ /%20/g' | sed 's/!/%21/g' | sed 's/"/%22/g' | sed 's/#/%23/g' | sed 's/\$/%24/g' | sed 's/&/%26/g' | sed 's/'"'"'/%27/g' | sed 's/(/%28/g' | sed 's/)/%29/g' | sed 's/\*/%2A/g' | sed 's/+/%2B/g' | sed 's/,/%2C/g' | sed 's/\//%2F/g' | sed 's/:/%3A/g' | sed 's/;/%3B/g' | sed 's/=/%3D/g' | sed 's/?/%3F/g' | sed 's/@/%40/g') + ENCODED_TITLE=$(echo "$MSG_TITLE" | sed 's/%/%25/g' | sed 's/ /%20/g' | sed 's/!/%21/g' | sed 's/"/%22/g' | sed 's/#/%23/g' | sed 's/\$/%24/g' | sed 's/&/%26/g' | sed 's/'"'"'/%27/g' | sed 's/(/%28/g' | sed 's/)/%29/g' | sed 's/\*/%2A/g' | sed 's/+/%2B/g' | sed 's/,/%2C/g' | sed 's/\//%2F/g' | sed 's/:/%3A/g' | sed 's/;/%3B/g' | sed 's/=/%3D/g' | sed 's/?/%3F/g' | sed 's/@/%40/g') + echo "Webhook URL:" + echo "https://bark.nas.astrian.moe/${{ secrets.BARK_TOKEN }}/${ENCODED_TITLE}/${ENCODED_MESSAGE}?group=${ENCODED_GROUP}" + curl -X GET "https://bark.nas.astrian.moe/${{ secrets.BARK_TOKEN }}/${ENCODED_TITLE}/${ENCODED_MESSAGE}?group=${ENCODED_GROUP}" \ No newline at end of file