From 48fbdf013c4de70bd7468ba428bb8597f8346e7e Mon Sep 17 00:00:00 2001 From: akshun Date: Mon, 16 Jun 2025 03:30:25 +0000 Subject: [PATCH] Update .drone.yml --- .drone.yml | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 0a4a26e..41a7ad4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,3 +1,79 @@ +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 image: alpine/curl commands: @@ -18,12 +94,10 @@ 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" \ @@ -57,4 +131,8 @@ from_secret: drone-tag volumes: - name: artifacts - path: /artifacts \ No newline at end of file + path: /artifacts + +volumes: + - name: artifacts + temp: {} \ No newline at end of file