Implement legacy & modern plugin method calls over WS #1949
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |