Adding a warning in case of failed job

This commit is contained in:
2025-03-27 08:45:19 +01:00
parent 9dc65f0960
commit b1f8643431

View File

@@ -47,7 +47,7 @@ runs:
if [[ -n "${{ inputs.ignorePatterns }}" ]]; then
IFS=',' read -ra exclusions <<< "${{ inputs.ignorePatterns }}"
for exclusion in "${exclusions[@]}"; do
tar_cmd+=(--exclude="${exclusion}")
log_info "Excluding pattern ${exclusion}"
@@ -59,22 +59,36 @@ runs:
# Execute the tar command
"${tar_cmd[@]}"
shopt -u dotglob
mv "${{ inputs.customArchiveName }}.tar.gz" ../
- name: Publishing App
continue-on-error: true # Ensures the job shows a warning instead of failing
shell: bash
run: |
PKG_URL="${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/generic/${{ inputs.appName }}/${{ inputs.version }}/${{ inputs.customArchiveName }}.tar.gz"
log_info "Sending package in $(yellow)${PKG_URL}"
curl --user "MilaBot:${{ inputs.token }}" \
--upload-file "${{ inputs.customArchiveName }}.tar.gz" \
"${PKG_URL}" \
--progress-bar \
--show-error \
--fail
HTTP_RESPONSE=$(curl --user "MilaBot:${{ inputs.token }}" \
--upload-file "${{ inputs.customArchiveName }}.tar.gz" \
"${PKG_URL}" \
--progress-bar \
--show-error \
--fail --silent --write-out "%{http_code}" --output /dev/null)
if [[ "$HTTP_RESPONSE" == "409" ]]; then
echo "::warning:: ⚠️ Warning: File already exists (HTTP 409). Ignoring failure."
exit 1 # Step "fails", but job stays in warning state due to continue-on-error
elif [[ "$HTTP_RESPONSE" -ge 200 && "$HTTP_RESPONSE" -lt 300 ]]; then
echo "✅ Upload successful."
exit 0
else
echo "HTTP_RESPONSE=$HTTP_RESPONSE" >> "$GITEA_ENV"
echo "❌ Error: HTTP response $HTTP_RESPONSE"
exit 1
fi
PKG_SHA="$(sha256sum "${{ inputs.customArchiveName }}.tar.gz" | cut -d' ' -f1 | tr -d '\n')"
log_info "Exporting package sha256 hash in env var $(yellow)PKG_SHA"
@@ -82,6 +96,9 @@ runs:
log_info "Exporting package url in env var $(yellow)PKG_URL"
echo "PKG_URL=${PKG_URL}" >> $GITEA_ENV
log_info "Cleaning up"
rm -f "${{ inputs.customArchiveName }}.tar.gz"
- name: Validate job
shell: bash
run: [[ -z "$HTTP_RESPONSE" ]]; || exit 1