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@v4 with: fetch-depth: 0 - name: Set up NodeJS 20 💎 uses: actions/setup-node@v4 with: node-version: 20 - name: Set up Python 3.11.7 🐍 uses: actions/setup-python@v5 with: python-version: "3.11.7" - 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 --dangerously-allow-all-builds - 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@v4 with: name: PluginLoader path: ./backend/dist/PluginLoader - name: Download package artifact locally if: ${{ env.ACT }} uses: actions/upload-artifact@v4 with: path: ./backend/dist/PluginLoader