74 lines
2.0 KiB
YAML
74 lines
2.0 KiB
YAML
name: Multi Distro Build
|
|
|
|
on: workflow_dispatch
|
|
|
|
jobs:
|
|
clone-repo:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
arch-build:
|
|
runs-on: ubuntu-latest
|
|
needs: clone-repo
|
|
container: archlinux:latest
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
pacman -Syu --noconfirm
|
|
pacman -S --noconfirm git python python-pip binutils
|
|
mv /lib/python3*/EXTERNALLY-MANAGED . || true
|
|
pip install --upgrade pip
|
|
pip install pyinstaller inquirerpy distro
|
|
- name: Build binary
|
|
run: |
|
|
pyinstaller --onefile --add-data "data/:data/" setup.py
|
|
cp dist/setup arch-setup
|
|
shell: bash
|
|
|
|
debian-build:
|
|
runs-on: ubuntu-latest
|
|
needs: clone-repo
|
|
container: debian:stable-slim
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
apt-get update && apt-get upgrade -y
|
|
apt-get install -y git python3 python3-pip binutils
|
|
mv /usr/lib/python*/EXTERNALLY-MANAGED . || true
|
|
pip install pyinstaller inquirerpy distro
|
|
- name: Build binary
|
|
run: |
|
|
pyinstaller --onefile --add-data "data/:data/" setup.py
|
|
cp dist/setup debian-setup
|
|
shell: bash
|
|
|
|
fedora-build:
|
|
runs-on: ubuntu-latest
|
|
needs: clone-repo
|
|
container: fedora:latest
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
dnf update -y
|
|
dnf install -y git python python-pip binutils
|
|
pip install inquirerpy distro pyinstaller
|
|
- name: Build binary
|
|
run: |
|
|
pyinstaller --onefile --add-data "data/:data/" setup.py
|
|
cp dist/setup fedora-setup
|
|
shell: bash
|
|
|
|
upload-artifacts:
|
|
runs-on: ubuntu-latest
|
|
needs: [arch-build, debian-build, fedora-build]
|
|
steps:
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: |
|
|
arch-setup
|
|
debian-setup
|
|
fedora-setup
|