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

This commit is contained in:
2025-06-16 03:28:03 +00:00
parent 88b50c558a
commit 8046fc4eca

View File

@@ -1,86 +1,15 @@
kind: pipeline
type: kubernetes
name: Build on Multiple Distributions
steps:
- name: clone-repo
image: alpine/git
commands:
- git clone https://gitea.akshun-lab.uk/akshun/setup-script.git /artifacts
volumes:
- name: artifacts
path: /artifacts
- name: build-on-arch
image: archlinux:latest
commands:
- pacman -Syu --noconfirm
- pacman -S --noconfirm git python python-pip binutils
- mv /lib/python3*/EXTERNALLY-MANAGED .
- pip install --upgrade pip
- pip install pyinstaller inquirerpy distro
- cd /artifacts
- pyinstaller --onefile --add-data "bash/:bash/" --add-data "prompts/:prompts/" --add-data "config/:config/" setup.py
volumes:
- name: artifacts
path: /artifacts
- name: upload-arch-artifact
image: alpine
commands:
- cp /artifacts/dist/setup /artifacts/arch-setup
volumes:
- name: artifacts
path: /artifacts
- name: build-on-debian
image: debian:stable
commands:
- apt update && apt upgrade -y
- apt install -y git python3 python3-pip binutils
- mv /lib/python*/EXTERNALLY-MANAGED .
- pip install pyinstaller inquirerpy distro
- cd /artifacts
- pyinstaller --onefile --add-data "bash/:bash/" --add-data "prompts/:prompts/" --add-data "config/:config/" setup.py
volumes:
- name: artifacts
path: /artifacts
- name: upload-debian-artifact
image: alpine
commands:
- cp /artifacts/dist/setup /artifacts/debian-setup
volumes:
- name: artifacts
path: /artifacts
- name: build-on-fedora
image: fedora:latest
commands:
- dnf up -y
- dnf install -y git python python-pip binutils
- pip install inquirerpy distro pyinstaller
- cd /artifacts
- pyinstaller --onefile --add-data "bash/:bash/" --add-data "prompts/:prompts/" --add-data "config/:config/" setup.py
volumes:
- name: artifacts
path: /artifacts
- name: upload-fedora-artifact
image: alpine
commands:
- cp /artifacts/dist/setup /artifacts/fedora-setup
volumes:
- name: 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
- | - |
# Set the release ID (use tag if available, otherwise "latest") if [ -z "$GITEA_TOKEN" ] || [ -z "$GITEA_SERVER" ]; then
echo "Error: GITEA_TOKEN or GITEA_SERVER not set"
exit 1
fi
if [ -n "${DRONE_TAG}" ]; then if [ -n "${DRONE_TAG}" ]; then
echo "Creating release for tag ${DRONE_TAG}"
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" \
@@ -88,13 +17,26 @@ steps:
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases") "${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases")
release_id=$(echo "$response" | jq -r '.id') release_id=$(echo "$response" | jq -r '.id')
else else
echo "Using latest release"
response=$(curl -s -H "Authorization: token $GITEA_TOKEN" \ response=$(curl -s -H "Authorization: token $GITEA_TOKEN" \
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases/latest") "${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') release_id=$(echo "$response" | jq -r '.id')
fi fi
for artifact in /artifacts/*-setup; do for artifact in /artifacts/*-setup; do
if [ -f "$artifact" ]; then
filename=$(basename "$artifact") filename=$(basename "$artifact")
echo "Uploading ${filename} to Gitea release ${release_id}" echo "Uploading ${filename} to Gitea release ${release_id}"
curl -X POST \ curl -X POST \
@@ -102,16 +44,17 @@ steps:
-H "Content-Type: multipart/form-data" \ -H "Content-Type: multipart/form-data" \
-F "attachment=@${artifact}" \ -F "attachment=@${artifact}" \
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases/${release_id}/assets?name=${filename}" "${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases/${release_id}/assets?name=${filename}"
else
echo "No artifacts found matching /artifacts/*-setup"
fi
done done
environment: environment:
GITEA_TOKEN: GITEA_TOKEN:
from_secret: gitea-token from_secret: gitea-token
GITEA_SERVER: GITEA_SERVER:
from_secret: gitea-server from_secret: gitea-server
DRONE_TAG:
from_secret: drone-tag
volumes: volumes:
- name: artifacts - name: artifacts
path: /artifacts path: /artifacts
volumes:
- name: artifacts
temp: {}