This commit is contained in:
84
.drone.yml
84
.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
|
- name: upload-to-gitea
|
||||||
image: alpine/curl
|
image: alpine/curl
|
||||||
commands:
|
commands:
|
||||||
@@ -18,12 +94,10 @@
|
|||||||
release_id=$(echo "$response" | jq -r '.id')
|
release_id=$(echo "$response" | jq -r '.id')
|
||||||
else
|
else
|
||||||
echo "Using latest release"
|
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" || echo "")
|
"${GITEA_SERVER}/api/v1/repos/${DRONE_REPO}/releases/latest" || echo "")
|
||||||
|
|
||||||
if [ -z "$response" ] || [ "$(echo "$response" | jq -r '.id')" = "null" ]; then
|
if [ -z "$response" ] || [ "$(echo "$response" | jq -r '.id')" = "null" ]; then
|
||||||
|
|
||||||
echo "Creating new draft release"
|
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" \
|
||||||
@@ -57,4 +131,8 @@
|
|||||||
from_secret: drone-tag
|
from_secret: drone-tag
|
||||||
volumes:
|
volumes:
|
||||||
- name: artifacts
|
- name: artifacts
|
||||||
path: /artifacts
|
path: /artifacts
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: artifacts
|
||||||
|
temp: {}
|
||||||
Reference in New Issue
Block a user