Skip to content

Commit be7f5fc

Browse files
committed
ci: fixing AUR deployment
1 parent e09ef7e commit be7f5fc

1 file changed

Lines changed: 29 additions & 4 deletions

File tree

.github/workflows/release.yml

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
cat .github/workflows/release.yml
21
name: Release
32

43
"on":
@@ -108,12 +107,36 @@ jobs:
108107
109108
KEY_PATH="${RUNNER_TEMP}/penguinguide-aur-key"
110109
110+
NORMALIZED_KEY="$(
111+
printf '%s' "${AUR_KEY_B64}" |
112+
tr -d '[:space:]'
113+
)"
114+
115+
unset AUR_KEY_B64
116+
117+
if [[ ! "${NORMALIZED_KEY}" =~ ^[A-Za-z0-9+/]+={0,2}$ ]]; then
118+
echo "::error::AUR_KEY_B64 contains characters that are not valid Base64."
119+
unset NORMALIZED_KEY
120+
exit 1
121+
fi
122+
123+
if (( ${#NORMALIZED_KEY} % 4 != 0 )); then
124+
echo "::error::AUR_KEY_B64 has an invalid Base64 length."
125+
unset NORMALIZED_KEY
126+
exit 1
127+
fi
128+
111129
umask 077
112130
113-
printf '%s' "${AUR_KEY_B64}" |
114-
base64 --decode > "${KEY_PATH}"
131+
if ! printf '%s' "${NORMALIZED_KEY}" |
132+
base64 --decode > "${KEY_PATH}"; then
133+
echo "::error::AUR_KEY_B64 could not be decoded."
134+
unset NORMALIZED_KEY
135+
rm -f "${KEY_PATH}"
136+
exit 1
137+
fi
115138
116-
unset AUR_KEY_B64
139+
unset NORMALIZED_KEY
117140
118141
chmod 600 "${KEY_PATH}"
119142
@@ -129,6 +152,8 @@ jobs:
129152
130153
printf 'AUR_KEY_PATH=%s\n' "${KEY_PATH}" >> "${GITHUB_ENV}"
131154
155+
echo "AUR deployment key validated successfully."
156+
132157
- name: Run GoReleaser
133158
shell: bash
134159
env:

0 commit comments

Comments
 (0)