Skip to content

Commit e5f4366

Browse files
committed
More Workflow Fixes ig
1 parent 51944d9 commit e5f4366

File tree

1 file changed

+46
-10
lines changed

1 file changed

+46
-10
lines changed

.github/workflows/release-to-discord.yml

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ on:
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

818
jobs:
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

Comments
 (0)