Files
python-setup/.drone.yml
aggarwalakshun 8ec6c7652a
All checks were successful
continuous-integration/drone Build is passing
use alpine:latest for upload artifacts
2025-09-07 16:53:34 +05:30

89 lines
2.5 KiB
YAML

kind: pipeline
type: kubernetes
name: multi-distro-build
trigger:
event:
- custom
steps:
- name: clone-repo
image: alpine/git:latest
commands:
- git clone https://gitea.akshun-lab.cc/aggarwalakshun/python-setup.git /artifacts
volumes:
- name: artifacts
path: /artifacts
- name: arch-build
image: archlinux:latest
depends_on: [clone-repo]
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 "data/:data/" setup.py
- cp /artifacts/dist/setup /artifacts/arch-setup
volumes:
- name: artifacts
path: /artifacts
- name: debian-build
image: debian:stable-slim
depends_on: [clone-repo]
commands:
- apt-get update && apt-get upgrade -y
- apt-get install -y git python3 python3-pip binutils
- mv /usr/lib/python*/EXTERNALLY-MANAGED .
- pip install pyinstaller inquirerpy distro
- cd /artifacts
- pyinstaller --onefile --add-data "data/:data/" setup.py
- cp /artifacts/dist/setup /artifacts/debian-setup
volumes:
- name: artifacts
path: /artifacts
- name: fedora-build
image: fedora:latest
depends_on: [clone-repo]
commands:
- dnf update -y
- dnf install -y git python python-pip binutils
- pip install inquirerpy distro pyinstaller
- cd /artifacts
- pyinstaller --onefile --add-data "data/:data/" setup.py
- cp /artifacts/dist/setup /artifacts/fedora-setup
volumes:
- name: artifacts
path: /artifacts
- name: upload-artifacts
image: alpine:latest
depends_on: [arch-build, debian-build, fedora-build]
commands:
- apk add jq curl
- |
LATEST_TAG=$(curl -s "https://gitea.akshun-lab.cc/api/v1/repos/aggarwalakshun/python-setup/releases/latest" | jq -r '.tag_name')
echo "Latest tag: $LATEST_TAG"
for file in /artifacts/*-setup; do
FILENAME=$(basename "$file")
echo "Uploading $FILENAME..."
curl -X POST "https://gitea.akshun-lab.cc/api/v1/repos/aggarwalakshun/python-setup/releases/$LATEST_TAG/assets?name=$FILENAME" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @"$file"
done
environment:
GITEA_TOKEN:
from_secret: GITEA_TOKEN
volumes:
- name: artifacts
path: /artifacts
volumes:
- name: artifacts
temp: {}