Update .drone.yml
Some checks failed
continuous-integration/drone Build encountered an error

This commit is contained in:
2025-06-16 03:38:36 +00:00
parent 48fbdf013c
commit 5ed5309265

View File

@@ -74,61 +74,75 @@ steps:
- name: artifacts - name: artifacts
path: /artifacts path: /artifacts
- name: upload-to-gitea - name: upload-to-gitea
image: alpine/curl image: alpine/curl
commands: commands:
- apk add curl jq - apk add curl jq
- | - |
if [ -z "$GITEA_TOKEN" ] || [ -z "$GITEA_SERVER" ]; then # Ensure required variables are set
echo "Error: GITEA_TOKEN or GITEA_SERVER not set" if [ -z "$GITEA_TOKEN" ] || [ -z "$GITEA_SERVER" ]; then
exit 1 echo "Error: GITEA_TOKEN or GITEA_SERVER not set"
fi exit 1
fi
if [ -n "${DRONE_TAG}" ]; then # Set repo path (fallback if DRONE_REPO is not set)
echo "Creating release for tag ${DRONE_TAG}" REPO_PATH="${DRONE_REPO:-akshun/setup-script}"
# Create or get release
if [ -n "${DRONE_TAG}" ]; then
echo "Creating release for tag ${DRONE_TAG}"
response=$(curl -s -X POST \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tag_name": "'"${DRONE_TAG}"'", "name": "'"${DRONE_TAG}"'", "body": "Automated release"}' \
"$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases")
release_id=$(echo "$response" | jq -r '.id')
else
echo "Using latest release"
# Try to get latest release
response=$(curl -s -H "Authorization: token $GITEA_TOKEN" \
"$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases/latest" || echo "")
if [ -z "$response" ] || [ "$(echo "$response" | jq -r '.id')" = "null" ]; then
# Create a new draft release if none exists
echo "Creating new draft release"
response=$(curl -s -X POST \ response=$(curl -s -X POST \
-H "Authorization: token $GITEA_TOKEN" \ -H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"tag_name": "'"${DRONE_TAG}"'", "name": "'"${DRONE_TAG}"'", "body": "Automated release"}' \ -d '{"tag_name": "continuous", "name": "Continuous Build", "draft": true, "body": "Automated continuous build"}' \
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases") "$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases")
release_id=$(echo "$response" | jq -r '.id')
else
echo "Using latest release"
response=$(curl -s -H "Authorization: token $GITEA_TOKEN" \
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases/latest" || echo "")
if [ -z "$response" ] || [ "$(echo "$response" | jq -r '.id')" = "null" ]; then
echo "Creating new draft release"
response=$(curl -s -X POST \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tag_name": "continuous", "name": "Continuous Build", "draft": true, "body": "Automated continuous build"}' \
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases")
fi
release_id=$(echo "$response" | jq -r '.id')
fi fi
for artifact in /artifacts/*-setup; do release_id=$(echo "$response" | jq -r '.id')
if [ -f "$artifact" ]; then fi
filename=$(basename "$artifact")
echo "Uploading ${filename} to Gitea release ${release_id}" # Upload artifacts
curl -X POST \ for artifact in /artifacts/*-setup; do
-H "Authorization: token $GITEA_TOKEN" \ if [ -f "$artifact" ]; then
-H "Content-Type: multipart/form-data" \ filename=$(basename "$artifact")
-F "attachment=@${artifact}" \ echo "Uploading $filename to Gitea release $release_id"
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases/${release_id}/assets?name=${filename}" curl -X POST \
else -H "Authorization: token $GITEA_TOKEN" \
echo "No artifacts found matching /artifacts/*-setup" -H "Content-Type: multipart/form-data" \
fi -F "attachment=@$artifact" \
done "$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases/$release_id/assets?name=$filename"
environment: else
GITEA_TOKEN: echo "No artifacts found matching /artifacts/*-setup"
from_secret: gitea-token fi
GITEA_SERVER: done
from_secret: gitea-server environment:
DRONE_TAG: GITEA_TOKEN:
from_secret: drone-tag from_secret: gitea-token
GITEA_SERVER:
from_secret: gitea-server
DRONE_REPO:
from_secret: drone-repo
DRONE_TAG:
from_secret: drone-tag
volumes:
- name: artifacts
path: /artifacts
volumes: volumes:
- name: artifacts - name: artifacts
path: /artifacts path: /artifacts