File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- cat .github/workflows/release.yml
21name : 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 :
You can’t perform that action at this time.
0 commit comments