diff options
| author | AAGaming <aagaming@riseup.net> | 2026-10-17 20:04:39 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-17 20:04:39 -0400 |
| commit | 636b86cf3291e3934a1dc0dd57afb5eb7056a431 (patch) | |
| tree | 854301c45c6ea1fbee28dd0a1399ed55fdb113f2 /.github/workflows/build.yml | |
| parent | 410a141cf3c5d0192e4a1a07d7d10be298ab02f4 (diff) | |
| download | decky-loader-636b86cf3291e3934a1dc0dd57afb5eb7056a431.tar.gz decky-loader-636b86cf3291e3934a1dc0dd57afb5eb7056a431.zip | |
feat(loader): support ARM Linux, experimental builds for every platform that exists (#990)
Co-authored-by: Gianni Spadoni <me@gio.blue>
Co-authored-by: virtudude <virtudude@protonmail.com>
Signed-off-by: Gianni Spadoni <me@gio.blue>
Diffstat (limited to '.github/workflows/build.yml')
| -rw-r--r-- | .github/workflows/build.yml | 67 |
1 files changed, 48 insertions, 19 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46a106a1..a6a56f39 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,32 +1,59 @@ name: Builder on: - push: - pull_request: workflow_call: - # schedule: - # - cron: '0 13 * * *' # run at 1 PM UTC + inputs: + arch: + description: Architecture to build for (x86_64, arm64) + type: string + default: x86_64 + os: + description: OS to build for (Linux, macOS, Windows) + type: string + default: Linux + artifact_name: + description: Name of the uploaded artifact + type: string + default: PluginLoader + binary_name: + description: Name of the PluginLoader binary + type: string + default: PluginLoader + noconsole: + description: If the windows build is no-console + type: boolean + default: false jobs: build: - name: Build PluginLoader - runs-on: ubuntu-22.04 + name: Build ${{ inputs.artifact_name }} (${{ inputs.os }} ${{ inputs.arch }}) + # No support for mac x86, sorry + runs-on: ${{ + (inputs.os == 'Linux' && inputs.arch == 'arm64' && 'ubuntu-26.04-arm') || + (inputs.os == 'Linux' && inputs.arch == 'x86_64' && 'ubuntu-26.04') || + (inputs.os == 'macOS' && inputs.arch == 'arm64' && 'xcode-27') || + (inputs.os == 'Windows' && inputs.arch == 'arm64' && 'windows-11-arm') || + (inputs.os == 'Windows' && inputs.arch == 'x86_64' && 'windows-2025') + }} + defaults: + run: + shell: bash steps: - name: Checkout 🧰 - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 0 - - name: Set up NodeJS 20 💎 - uses: actions/setup-node@v4 + - name: Set up NodeJS 26 💎 + uses: actions/setup-node@v7 with: - node-version: 20 + node-version: 26 - - name: Set up Python 3.11.7 🐍 - uses: actions/setup-python@v5 + - name: Set up Python 3.14.8 🐍 + uses: actions/setup-python@v7 with: - python-version: "3.11.7" + python-version: "3.14.8" - name: Install Poetry uses: snok/install-poetry@v1 @@ -53,17 +80,19 @@ jobs: working-directory: ./backend run: | poetry dynamic-versioning - pyinstaller pyinstaller.spec + DECKY_REPO="${{ github.repository }}" DECKY_BRANCH="${{ github.event.number && format('PR{0}/{1}', github.event.number, github.head_ref) || github.ref_name }}" ${{ inputs.noconsole == true && 'DECKY_NOCONSOLE=1 ' || '' }}pyinstaller pyinstaller.spec + echo Builds: + ls ./dist - name: Upload package artifact ⬆️ if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: - name: PluginLoader - path: ./backend/dist/PluginLoader + name: ${{ inputs.artifact_name }} + path: ./backend/dist/${{ inputs.binary_name }} - name: Download package artifact locally if: ${{ env.ACT }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: - path: ./backend/dist/PluginLoader + path: ./backend/dist/${{ inputs.binary_name }} |
