diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d938944..f8940ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -176,8 +176,16 @@ jobs: path: Twitch.Drops.Miner.Linux.PyInstaller.zip linux-appimage: - name: Linux (AppImage) - runs-on: ubuntu-22.04 + name: Linux (AppImage) (${{matrix.arch}}) + strategy: + fail-fast: false + matrix: + include: + - arch: x86_64 + runner: ubuntu-22.04 + - arch: aarch64 + runner: ubuntu-22.04-arm + runs-on: ${{matrix.runner}} needs: - validate @@ -207,7 +215,8 @@ jobs: - name: Create AppImage env: - ARCH: x86_64 + ARCH: ${{matrix.arch}} + ARCH_APT: ${{matrix.arch == 'x86_64' && 'amd64' || 'arm64'}} APP_VERSION: ${{steps.vars.outputs.app_version}}.${{steps.vars.outputs.sha_short}} PYTHON_VERSION: ${{env.PYTHON_VERSION}} run: | @@ -218,14 +227,14 @@ jobs: folder='Twitch Drops Miner' mkdir "${folder}" cp *.AppImage manual.txt "${folder}" - 7z a Twitch.Drops.Miner.Linux.AppImage.zip "${folder}" + 7z a 'Twitch.Drops.Miner.Linux.AppImage-${{matrix.arch}}.zip' "${folder}" - name: Upload build artifact uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: Twitch.Drops.Miner.Linux.AppImage - path: Twitch.Drops.Miner.Linux.AppImage.zip + name: Twitch.Drops.Miner.Linux.AppImage-${{matrix.arch}} + path: Twitch.Drops.Miner.Linux.AppImage-${{matrix.arch}}.zip update_releases_page: name: Upload builds to Releases diff --git a/appimage/AppImageBuilder.yml b/appimage/AppImageBuilder.yml index 2b555b3..68b9f28 100644 --- a/appimage/AppImageBuilder.yml +++ b/appimage/AppImageBuilder.yml @@ -43,11 +43,15 @@ AppDir: exec_args: '${APPDIR}/usr/src/main.py $@' apt: - arch: amd64 + arch: + - '{{ARCH_APT}}' sources: - - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main - - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main - - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main + - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main + - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main + - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-security main + - sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy main + - sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main + - sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-security main key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C include: