feat/ci: add build ci

This commit is contained in:
Kentai Radiquum 2025-06-25 15:19:21 +05:00
parent 43d09314ff
commit dd84020851
Signed by: Radiquum
GPG key ID: 858E8EE696525EED

90
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,90 @@
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: "[DEPS/Tool] bun"
uses: oven-sh/setup-bun@v2
- name: "[DEPS/Tool] python"
uses: actions/setup-python@v5
with:
python-version: '3.13.2'
- name: "[Preparing] cloning repository"
uses: actions/checkout@v4
- name: "[DEPS/Build] Backend"
run: |
"pip install -r ./requirements.txt"
"pip install -r ./requirements.dev.txt"
- name: "[DEPS/Build] Frontend"
run: "cd ./gui && bun install && cd .."
- name: "[Build] Building artifact"
run: "python ./build.py --exe"
- name: "[Publish] Upload GUI Artifact"
uses: actions/upload-artifact@v4
with:
name: "YAMPD-gui"
path: "./dist/gui"
if-no-files-found: warn
retention-days: 14
- name: "[Publish] Upload CLI Artifact"
uses: actions/upload-artifact@v4
with:
name: "YAMPD-cli"
path: "./dist/cli"
if-no-files-found: warn
retention-days: 14
build_windows:
name: "windows-build"
runs-on: windows-latest
steps:
- 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'
- name: "[Preparing] cloning repository"
uses: actions/checkout@v4
- name: "[DEPS/Build] Backend"
run: |
"pip install -r ./requirements.txt"
"pip install -r ./requirements.dev.txt"
- name: "[DEPS/Build] Frontend"
run: |
"cd ./gui"
"bun install"
"cd .."
- name: "[Build] Building artifact"
run: "python ./build.py --exe"
- name: "[Publish] Upload GUI Artifact"
uses: actions/upload-artifact@v4
with:
name: "YAMPD-gui.exe"
path: "./dist/gui.exe"
if-no-files-found: warn
retention-days: 14
- name: "[Publish] Upload CLI Artifact"
uses: actions/upload-artifact@v4
with:
name: "YAMPD-cli.exe"
path: "./dist/cli.exe"
if-no-files-found: warn
retention-days: 14