44 release :
55 types : [published]
66 workflow_dispatch :
7+ inputs :
8+ release_tag :
9+ description : " Release tag to announce when running manually (e.g. 1.0.2). Leave blank to use the selected ref name."
10+ required : false
11+ type : string
12+ mention_here :
13+ description : " Ping @here"
14+ required : false
15+ type : boolean
16+ default : true
717
818jobs :
919 build-and-post :
@@ -30,24 +40,49 @@ jobs:
3040 curl --fail -L -o libs/baritone-api-fabric-1.15.0.jar \
3141 https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-fabric-1.15.0.jar
3242 ls -l libs/baritone-api-fabric-1.15.0.jar
33-
43+
3444 - name : Build
3545 env :
3646 BARITONE_API_JAR : libs/baritone-api-fabric-1.15.0.jar
3747 run : |
38- if [ ! -f libs/baritone-api-fabric-1.15.0.jar ]; then
39- echo "Baritone API jar missing; listing libs:"
40- ls -l libs || true
41- exit 1
42- fi
48+ set -euo pipefail
49+ test -f libs/baritone-api-fabric-1.15.0.jar
4350 ./gradlew build -PbaritoneApiPath=libs/baritone-api-fabric-1.15.0.jar
4451
4552 - name : Post to Discord (message + all jar attachments)
4653 shell : bash
54+ env :
55+ DISCORD_WEBHOOK_URL : ${{ secrets.DISCORD_WEBHOOK_URL }}
56+ INPUT_RELEASE_TAG : ${{ inputs.release_tag }}
57+ INPUT_MENTION_HERE : ${{ inputs.mention_here }}
4758 run : |
59+ set -euo pipefail
60+
61+ NAME="${{ github.event.repository.name }}"
62+
63+ # Prefer real release payload when triggered by a published release
4864 TAG="${{ github.event.release.tag_name }}"
4965 URL="${{ github.event.release.html_url }}"
50- NAME="${{ github.event.repository.name }}"
66+
67+ # If manual run, use provided input or the selected ref name
68+ if [ -z "${TAG}" ] || [ "${TAG}" = "null" ]; then
69+ if [ -n "${INPUT_RELEASE_TAG}" ]; then
70+ TAG="${INPUT_RELEASE_TAG}"
71+ else
72+ TAG="${GITHUB_REF_NAME}"
73+ fi
74+ fi
75+
76+ # Build a URL if the release payload isn't present (manual runs)
77+ if [ -z "${URL}" ] || [ "${URL}" = "null" ]; then
78+ URL="https://github.com/${GITHUB_REPOSITORY}/releases/tag/${TAG}"
79+ fi
80+
81+ # Mention line (optional)
82+ MENTION=""
83+ if [ "${INPUT_MENTION_HERE}" = "true" ]; then
84+ MENTION='@here\n'
85+ fi
5186
5287 # Collect all "main" jars (ignore common extra jars)
5388 mapfile -t JARS < <(ls -1 build/libs/*.jar 2>/dev/null \
@@ -64,11 +99,12 @@ jobs:
6499 i=1
65100 for jar in "${JARS[@]}"; do
66101 echo "Attaching: $jar"
67- CURL_FILES+=(-F "file${i}=@\" ${jar}\" ")
102+ CURL_FILES+=(-F "file${i}=@${jar}")
68103 i=$((i+1))
69104 done
70105
106+ # Send message + attachments
71107 curl \
72- -F "payload_json={\"content\":\"@here\\n **${NAME} ${TAG}**\\ nGitHub Release: ${URL}\\n\\n**Downloads:** (files attached)\"}" \
108+ -F "payload_json={\"content\":\"${MENTION} **${NAME} ${TAG}**\nGitHub Release: ${URL}\n\nDownloads: (files attached)\"}" \
73109 "${CURL_FILES[@]}" \
74- "${{ secrets. DISCORD_WEBHOOK_URL } }"
110+ "${DISCORD_WEBHOOK_URL}"
0 commit comments