name: Multi Distro Build on: workflow_dispatch jobs: arch-build: runs-on: ubuntu-latest needs: clone-repo container: archlinux:latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install dependencies run: | pacman -Syu --noconfirm pacman -S --noconfirm git python python-pip binutils mv /lib/python3*/EXTERNALLY-MANAGED /tmp/ 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 - name: Upload binary uses: actions/upload-artifact@v4 with: name: arch-setup path: arch-setup debian-build: runs-on: ubuntu-latest needs: clone-repo container: debian:stable-slim steps: - name: Checkout repository uses: actions/checkout@v4 - 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 . /tmp/ pip install pyinstaller inquirerpy distro - name: Build binary run: | pyinstaller --onefile --add-data "data/:data/" setup.py cp dist/setup debian-setup shell: bash - name: Upload binary uses: actions/upload-artifact@v4 with: name: debian-setup path: debian-setup fedora-build: runs-on: ubuntu-latest needs: clone-repo container: fedora:latest steps: - name: Checkout repository uses: actions/checkout@v4 - 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 - name: Upload binary uses: actions/upload-artifact@v4 with: name: fedora-setup path: fedora-setup