45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
name: publish generic package
|
|
description: publish generic package into gitea packages
|
|
|
|
inputs:
|
|
file:
|
|
description: file to upload as package
|
|
required: true
|
|
package:
|
|
description: gitea package name
|
|
required: true
|
|
version:
|
|
description: gitea package version
|
|
required: true
|
|
force:
|
|
description: force package replacement keeping the same version
|
|
required: false
|
|
default: "false"
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
if [[ "${{ inputs.force }}" == "true" ]]; then
|
|
status="$(
|
|
curl --silent --show-error --output /dev/null --write-out '%{http_code}' \
|
|
--user "acti-bot:${ACTI_BOT_TOKEN}" \
|
|
--request DELETE \
|
|
"${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/generic/${{ inputs.package }}/${{ inputs.version }}"
|
|
)"
|
|
|
|
case "$status" in
|
|
204|404) ;;
|
|
*)
|
|
echo "Failed to delete existing package version (HTTP ${status})" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
curl --fail-with-body \
|
|
--user "acti-bot:${ACTI_BOT_TOKEN}" \
|
|
--upload-file ${{ inputs.file }} \
|
|
"${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/generic/${{ inputs.package }}/${{ inputs.version }}/${{ inputs.file }}"
|