mirror of
https://github.com/Radiquum/YAMPD.git
synced 2025-09-05 05:55:40 +05:00
Compare commits
7 commits
8baab91e60
...
08c72152d0
Author | SHA1 | Date | |
---|---|---|---|
08c72152d0 | |||
40c68ba972 | |||
5b532e8e16 | |||
46f0674302 | |||
b815947e61 | |||
dd84020851 | |||
43d09314ff |
5 changed files with 108 additions and 5 deletions
95
.github/workflows/build.yml
vendored
Normal file
95
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
name: "YAMPD Build"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: "build"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_linux:
|
||||||
|
name: "linux-build"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: "[Preparing] cloning repository"
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: "[DEPS/Tool] bun"
|
||||||
|
uses: oven-sh/setup-bun@v2
|
||||||
|
- name: "[DEPS/Tool] python"
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.13.2'
|
||||||
|
cache: 'pip'
|
||||||
|
- name: "[DEBUG] check if pip is installed"
|
||||||
|
run: |
|
||||||
|
which pip
|
||||||
|
pip --version
|
||||||
|
- name: "[DEPS/Build] Backend"
|
||||||
|
run: |
|
||||||
|
pip install -r requirements.txt
|
||||||
|
pip install -r requirements.build.txt
|
||||||
|
- name: "[DEPS/Build] Frontend"
|
||||||
|
run: bun install
|
||||||
|
working-directory: ./gui
|
||||||
|
- name: "[Build] Building artifact"
|
||||||
|
run: python ./build.py --exe
|
||||||
|
- name: "[Publish] Upload GUI Artifact"
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: "YAMPD-gui-linux"
|
||||||
|
path: "./dist/yamcpack"
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 14
|
||||||
|
- name: "[Publish] Upload CLI Artifact"
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: "YAMPD-cli-linux"
|
||||||
|
path: "./dist/yamcpack-cli"
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 14
|
||||||
|
|
||||||
|
build_windows:
|
||||||
|
name: "windows-build"
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: "[Preparing] cloning repository"
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: "[DEPS/Tool] bun"
|
||||||
|
uses: oven-sh/setup-bun@v2
|
||||||
|
- name: "[DEPS/Tool] python"
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.13.2'
|
||||||
|
cache: 'pip'
|
||||||
|
- name: "[DEPS/Build] Backend"
|
||||||
|
run: |
|
||||||
|
pip install -r requirements.txt
|
||||||
|
pip install -r requirements.build.txt
|
||||||
|
- name: "[DEPS/Build] Frontend"
|
||||||
|
run: "bun install"
|
||||||
|
working-directory: ./gui
|
||||||
|
- name: "[Build] Building artifact"
|
||||||
|
run: python ./build.py --exe
|
||||||
|
- name: "[Publish] Upload GUI Artifact"
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: "YAMPD-gui-windows.exe"
|
||||||
|
path: "./dist/yamcpack.exe"
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 14
|
||||||
|
- name: "[Publish] Upload CLI Artifact"
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: "YAMPD-cli-windows.exe"
|
||||||
|
path: "./dist/yamcpack-cli.exe"
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 14
|
8
build.py
8
build.py
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
@ -56,7 +58,7 @@ if __name__ == "__main__":
|
||||||
# TODO?: install node deps automatically
|
# TODO?: install node deps automatically
|
||||||
|
|
||||||
if not args.no_rebuild:
|
if not args.no_rebuild:
|
||||||
build = subprocess.call(["bun", "run", "build"], cwd="./gui", shell=True)
|
build = subprocess.call(["bun", "run", "build"], cwd="./gui", shell=(os.name == "nt"))
|
||||||
if build != 0:
|
if build != 0:
|
||||||
print("[ERROR] Next.js gui has failed to build")
|
print("[ERROR] Next.js gui has failed to build")
|
||||||
raise
|
raise
|
||||||
|
@ -110,7 +112,7 @@ if __name__ == "__main__":
|
||||||
"templates:templates",
|
"templates:templates",
|
||||||
],
|
],
|
||||||
cwd="./dist",
|
cwd="./dist",
|
||||||
shell=True,
|
shell=(os.name == "nt"),
|
||||||
)
|
)
|
||||||
if build != 0:
|
if build != 0:
|
||||||
print("[ERROR] pyinstaller has failed to build an app")
|
print("[ERROR] pyinstaller has failed to build an app")
|
||||||
|
@ -140,7 +142,7 @@ if __name__ == "__main__":
|
||||||
"mc_version.json:.",
|
"mc_version.json:.",
|
||||||
],
|
],
|
||||||
cwd="./dist",
|
cwd="./dist",
|
||||||
shell=True,
|
shell=(os.name == "nt"),
|
||||||
)
|
)
|
||||||
if build != 0:
|
if build != 0:
|
||||||
print("[ERROR] pyinstaller has failed to build an app")
|
print("[ERROR] pyinstaller has failed to build an app")
|
||||||
|
|
6
dev.py
6
dev.py
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
import os
|
import os
|
||||||
|
@ -13,10 +15,10 @@ if __name__ == "__main__":
|
||||||
# TODO?: install node deps automatically
|
# TODO?: install node deps automatically
|
||||||
|
|
||||||
gui_proc = subprocess.Popen(
|
gui_proc = subprocess.Popen(
|
||||||
["bun", "run", "dev"], cwd="./gui", env=environment, shell=True
|
["bun", "run", "dev"], cwd="./gui", env=environment, shell=(os.name == "nt")
|
||||||
)
|
)
|
||||||
app_proc = subprocess.Popen(
|
app_proc = subprocess.Popen(
|
||||||
["python", "main.py"], cwd="./src", env=environment, shell=True
|
["python", "main.py"], cwd="./src", env=environment, shell=(os.name == "nt")
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from sys import exit
|
from sys import exit
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
from flask import render_template, send_file, abort
|
from flask import render_template, send_file, abort
|
||||||
from flaskwebgui import FlaskUI # import FlaskUI
|
from flaskwebgui import FlaskUI # import FlaskUI
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue