From 7fd26b079d16b4e5aa9cdefbce34df81aa5100df Mon Sep 17 00:00:00 2001 From: Ry Date: Sun, 9 Nov 2025 04:45:29 -0500 Subject: [PATCH] Added support for the ppc64le architecture. --- .github/workflows/base.yml | 2 +- .github/workflows/go.yml | 2 +- .github/workflows/installers.yml | 6 +++--- .github/workflows/java.yml | 8 +++++++- .github/workflows/nodejs.yml | 2 +- .github/workflows/python.yml | 2 +- README.md | 4 ++-- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/base.yml b/.github/workflows/base.yml index d95fa6699..117827a9f 100644 --- a/.github/workflows/base.yml +++ b/.github/workflows/base.yml @@ -35,7 +35,7 @@ jobs: with: context: ./oses/${{ matrix.oses }} file: ./oses/${{ matrix.oses }}/Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/ppc64le push: true tags: | ghcr.io/pterodactyl/yolks:${{ matrix.oses }} diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 232c53de6..58e8318ba 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -38,7 +38,7 @@ jobs: with: context: ./go file: ./go/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64, linux/arm64 + platforms: linux/amd64, linux/arm64, linux/ppc64le push: true tags: | ghcr.io/pterodactyl/yolks:go_${{ matrix.tag }} diff --git a/.github/workflows/installers.yml b/.github/workflows/installers.yml index b7c73d017..491d60024 100644 --- a/.github/workflows/installers.yml +++ b/.github/workflows/installers.yml @@ -9,7 +9,7 @@ on: paths: - installers/** -# Two separate jobs, first for multiarch (amd64, arm64), second for amd64 only +# Two separate jobs, first for multiarch (amd64, arm64, ppc64le), second for amd64 only jobs: pushMultiArch: @@ -28,7 +28,7 @@ jobs: - name: Setup QEMU for multiarch builds uses: docker/setup-qemu-action@v3 with: - platforms: arm64,amd64 + platforms: ppc64le,arm64,amd64 image: tonistiigi/binfmt:qemu-v7.0.0-28 - uses: docker/login-action@v3 with: @@ -39,7 +39,7 @@ jobs: with: context: ./installers file: ./installers/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/ppc64le push: true tags: | ghcr.io/pterodactyl/installers:${{ matrix.tag }} diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index ecfdf2736..001d494ec 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -41,11 +41,17 @@ jobs: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - id: platforms + run: | + PLATFORMS="linux/amd64,linux/arm64,linux/ppc64le" + if [[ "${{ matrix.tag }}" == *"j9"* ]]; then + PLATFORMS="linux/amd64,linux/arm64" + fi - uses: docker/build-push-action@v4 with: context: ./java file: ./java/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: ${{ steps.platforms.outputs.platforms }} push: true tags: | ghcr.io/pterodactyl/yolks:java_${{ matrix.tag }} diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 8af7508e3..f31e6aaa0 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -41,7 +41,7 @@ jobs: with: context: ./nodejs file: ./nodejs/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/ppc64le push: true tags: | ghcr.io/pterodactyl/yolks:nodejs_${{ matrix.tag }} diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index a7d9f4f64..155efc95f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -39,7 +39,7 @@ jobs: with: context: ./python file: ./python/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64, linux/arm64 + platforms: linux/amd64, linux/arm64, linux/ppc64le push: true tags: | ghcr.io/pterodactyl/yolks:python_${{ matrix.tag }} diff --git a/README.md b/README.md index 3b2f508f9..86f31d090 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ and network usage by pre-installing common installation dependencies such as `cu a specific version of software and allow different Eggs within Pterodactyl to switch out the underlying implementation. An example of this would be something like Java or Python which are used for running bots, Minecraft servers, etc. -All of these images are available for `linux/amd64` and `linux/arm64` versions, unless otherwise specified, to use -these images on an arm64 system, no modification to them or the tag is needed, they should just work. +All of these images are available for `linux/amd64`, `linux/arm64`, and `linux/ppc64le` versions, unless otherwise specified, to use +these images on an arm64 or ppc64le system, no modification to them or the tag is needed, they should just work. ## Contributing