Compare commits
18 Commits
v1
...
22c9217059
| Author | SHA1 | Date | |
|---|---|---|---|
| 22c9217059 | |||
| 77450f38f1 | |||
| c949c75f28 | |||
| 1c4ff9231b | |||
| 0d2a4a6c68 | |||
| c27cf3d3e8 | |||
| e968c718af | |||
| 612cf4b9ed | |||
| 2bf58a419b | |||
| 7931aa73a6 | |||
| 4d4f08c762 | |||
| 13ddeae596 | |||
| e76b9f5a90 | |||
| 0dbb4e047d | |||
| 8bf93e2c30 | |||
| 1fb7988ff8 | |||
| f224342f5b | |||
| 4a999674cf |
@@ -10,7 +10,7 @@ steps:
|
||||
- name: clone-repo
|
||||
image: alpine/git:latest
|
||||
commands:
|
||||
- git clone https://gitea.akshun-lab.uk/akshun/python-script.git /artifacts
|
||||
- git clone https://gitea.akshun-lab.uk/akshun/python-setup.git /artifacts
|
||||
volumes:
|
||||
- name: artifacts
|
||||
path: /artifacts
|
||||
|
||||
76
.gitea/workflows/release.yml
Normal file
76
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
name: Multi Distro Build
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
arch-build:
|
||||
runs-on: ubuntu-latest
|
||||
container: archlinux:latest
|
||||
steps:
|
||||
- name: Install node
|
||||
run: pacman -Syu --noconfirm nodejs npm
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
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: Release binary
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
files: |-
|
||||
arch-setup
|
||||
|
||||
debian-build:
|
||||
runs-on: ubuntu-latest
|
||||
container: debian:stable-slim
|
||||
steps:
|
||||
- name: Install node
|
||||
run: apt-get update && apt-get upgrade -y && apt-get install -y nodejs npm
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
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: Release binary
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
files: |-
|
||||
debian-setup
|
||||
|
||||
fedora-build:
|
||||
runs-on: ubuntu-latest
|
||||
container: fedora:latest
|
||||
steps:
|
||||
- name: Install node
|
||||
run: dnf up -y && dnf install -y nodejs npm
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
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: Release binary
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
files: |-
|
||||
fedora-setup
|
||||
15
setup.py
15
setup.py
@@ -35,6 +35,7 @@ def choices():
|
||||
|
||||
def menu():
|
||||
global menu2
|
||||
menu2.clear()
|
||||
choices_list = choices().splitlines()
|
||||
choices_list.append("Exit")
|
||||
menu1 = inquirer.select(
|
||||
@@ -88,16 +89,16 @@ def menu():
|
||||
|
||||
elif menu1 == "Drivers":
|
||||
vendors = ["NVIDIA", "AMD", "Intel", "Back to Main Menu"]
|
||||
menu2 = inquirer.select(
|
||||
selected_vendor = inquirer.select(
|
||||
message = "Select your GPU vendor",
|
||||
choices = vendors,
|
||||
default = None,
|
||||
multiselect = False
|
||||
).execute()
|
||||
if menu2 == "Back to Main Menu":
|
||||
if selected_vendor == "Back to Main Menu":
|
||||
menu()
|
||||
else:
|
||||
install_drivers(menu2)
|
||||
install_drivers(selected_vendor)
|
||||
|
||||
elif menu1 == "Enable RPM Fusion":
|
||||
enable_rpmfusion()
|
||||
@@ -260,7 +261,7 @@ def install_drivers(vendor):
|
||||
elif which("dnf") is not None or which("yum") is not None:
|
||||
os.system("sudo dnf install -y intel-media-driver")
|
||||
elif which("pacman") is not None:
|
||||
driver = ["intel-media-driver", "libva-intel-driver"]
|
||||
driver = ["intel-media-driver", "libva-intel-driver", "Back to Main Menu"]
|
||||
gpu = inquirer.select(
|
||||
message = "Choose driver",
|
||||
choices = driver,
|
||||
@@ -271,6 +272,8 @@ def install_drivers(vendor):
|
||||
os.system("sudo pacman -S --noconfirm intel-media-driver")
|
||||
elif gpu == "libva-intel-driver":
|
||||
os.system("sudo pacman -S --noconfirm libva-intel-driver")
|
||||
elif gpu == "Back to Main Menu":
|
||||
menu()
|
||||
elif vendor == "NVIDIA":
|
||||
if which("apt") is not None:
|
||||
os.system("sudo apt install -y nvidia-driver")
|
||||
@@ -278,7 +281,7 @@ def install_drivers(vendor):
|
||||
os.system("sudo dnf install -y akmod-nvidia")
|
||||
elif which("pacman") is not None:
|
||||
os.system("sudo pacman -S --noconfirm nvidia")
|
||||
|
||||
|
||||
menu()
|
||||
|
||||
def install_other():
|
||||
@@ -286,6 +289,6 @@ def install_other():
|
||||
selected_other = menu2
|
||||
|
||||
for other in selected_other:
|
||||
os.system(f"bash {dir}data/scripts/third-party/" + other + ".sh")
|
||||
os.system(f"bash {dir}data/scripts/" + other + ".sh")
|
||||
|
||||
menu()
|
||||
Reference in New Issue
Block a user