From 67df07da3359c3a172125b2e8019da02c2dd72d6 Mon Sep 17 00:00:00 2001 From: akshun Date: Mon, 16 Jun 2025 03:39:49 +0000 Subject: [PATCH] Update .drone.yml --- .drone.yml | 117 ++++++++++++++++++++++++++--------------------------- 1 file changed, 57 insertions(+), 60 deletions(-) diff --git a/.drone.yml b/.drone.yml index c29355b..206283b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -74,74 +74,71 @@ steps: - name: artifacts path: /artifacts -- name: upload-to-gitea - image: alpine/curl - commands: - - apk add curl jq - - | - # Ensure required variables are set - if [ -z "$GITEA_TOKEN" ] || [ -z "$GITEA_SERVER" ]; then - echo "Error: GITEA_TOKEN or GITEA_SERVER not set" - exit 1 - fi + - name: upload-to-gitea + image: alpine/curl + commands: + - apk add curl jq + - | + # Ensure required variables are set + if [ -z "$GITEA_TOKEN" ] || [ -z "$GITEA_SERVER" ]; then + echo "Error: GITEA_TOKEN or GITEA_SERVER not set" + exit 1 + fi - # Set repo path (fallback if DRONE_REPO is not set) - REPO_PATH="${DRONE_REPO:-akshun/setup-script}" + # Set repo path (fallback if DRONE_REPO is not set) + 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" + # 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": "continuous", "name": "Continuous Build", "draft": true, "body": "Automated continuous build"}' \ + -d '{"tag_name": "'"${DRONE_TAG}"'", "name": "'"${DRONE_TAG}"'", "body": "Automated release"}' \ "$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases") - fi - - release_id=$(echo "$response" | jq -r '.id') - fi - - # Upload artifacts - for artifact in /artifacts/*-setup; do - if [ -f "$artifact" ]; then - filename=$(basename "$artifact") - echo "Uploading $filename to Gitea release $release_id" - curl -X POST \ - -H "Authorization: token $GITEA_TOKEN" \ - -H "Content-Type: multipart/form-data" \ - -F "attachment=@$artifact" \ - "$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases/$release_id/assets?name=$filename" + release_id=$(echo "$response" | jq -r '.id') else - echo "No artifacts found matching /artifacts/*-setup" + 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 \ + -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/$REPO_PATH/releases") + fi + + release_id=$(echo "$response" | jq -r '.id') fi - done - environment: - GITEA_TOKEN: - 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 + + # Upload artifacts + for artifact in /artifacts/*-setup; do + if [ -f "$artifact" ]; then + filename=$(basename "$artifact") + echo "Uploading $filename to Gitea release $release_id" + curl -X POST \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@$artifact" \ + "$GITEA_SERVER/api/v1/repos/$REPO_PATH/releases/$release_id/assets?name=$filename" + else + echo "No artifacts found matching /artifacts/*-setup" + fi + done + environment: + GITEA_TOKEN: + from_secret: gitea-token + GITEA_SERVER: + from_secret: gitea-server + + volumes: + - name: artifacts + path: /artifacts volumes: - name: artifacts