refactor: rename failed webhook job and enhance version messaging in npm publish workflow
All checks were successful
Publish to npm / quality (push) Successful in 19s
Publish to npm / quality-failed-webhook (push) Has been skipped
Publish to npm / publish (push) Successful in 26s
Publish to npm / publish-failed-webhook (push) Has been skipped

This commit is contained in:
Astrian Zheng 2025-05-21 16:49:02 +10:00
parent 94425630fd
commit 03fdf85b41
Signed by: Astrian
SSH Key Fingerprint: SHA256:rVnhx3DAKjujCwWE13aDl7uV6+9U1MvydLkNRXJrBiA

View File

@ -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}"