mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-11 16:13:51 +03:00
87 lines
2.6 KiB
YAML
87 lines
2.6 KiB
YAML
name: Builder
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_call:
|
|
# schedule:
|
|
# - cron: '0 13 * * *' # run at 1 PM UTC
|
|
|
|
jobs:
|
|
build:
|
|
name: Build PluginLoader
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Checkout 🧰
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up NodeJS 18 💎
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18
|
|
|
|
- name: Set up Python 3.10.6 🐍
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.10.6"
|
|
|
|
- name: Upgrade SQLite 3 binary version to 3.42.0 🧑💻
|
|
run: >
|
|
cd /tmp &&
|
|
wget "https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz" &&
|
|
tar -xvzf sqlite-autoconf-3420000.tar.gz &&
|
|
cd /tmp/sqlite-autoconf-3420000 &&
|
|
./configure --prefix=/usr --disable-static CFLAGS="-g" CPPFLAGS="$CPPFLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1 \
|
|
-DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \
|
|
-DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_STMTVTAB -DSQLITE_MAX_VARIABLE_NUMBER=250000 \
|
|
-DSQLITE_MAX_EXPR_DEPTH=10000 -DSQLITE_ENABLE_MATH_FUNCTIONS" &&
|
|
make -j$(nproc) &&
|
|
sudo make install &&
|
|
sudo cp /usr/lib/libsqlite3.so /usr/lib/x86_64-linux-gnu/ &&
|
|
sudo cp /usr/lib/libsqlite3.so.0 /usr/lib/x86_64-linux-gnu/ &&
|
|
sudo cp /usr/lib/libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/ &&
|
|
rm -r /tmp/sqlite-autoconf-3420000
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
with:
|
|
virtualenvs-create: false
|
|
|
|
- name: Install Python dependencies ⬇️
|
|
working-directory: ./backend
|
|
run: |
|
|
poetry self add "poetry-dynamic-versioning[plugin]"
|
|
poetry install --no-interaction
|
|
|
|
- name: Install JS dependencies ⬇️
|
|
working-directory: ./frontend
|
|
run: |
|
|
npm i -g pnpm
|
|
pnpm i --frozen-lockfile
|
|
|
|
- name: Build JS Frontend 🛠️
|
|
working-directory: ./frontend
|
|
run: pnpm run build
|
|
|
|
- name: Build Python Backend 🛠️
|
|
working-directory: ./backend
|
|
run: |
|
|
poetry dynamic-versioning
|
|
pyinstaller pyinstaller.spec
|
|
|
|
- name: Upload package artifact ⬆️
|
|
if: ${{ !env.ACT }}
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: PluginLoader
|
|
path: ./backend/dist/PluginLoader
|
|
|
|
- name: Download package artifact locally
|
|
if: ${{ env.ACT }}
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
path: ./backend/dist/PluginLoader
|