From 18b25caaf84b3004d7a5c057fb3ba2c3f5beb18a Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Mon, 9 Jan 2023 03:39:33 +0100 Subject: [PATCH] Fix installers and OS build (#35) Co-authored-by: softwarenoob --- .github/workflows/base.yml | 12 ++++---- .github/workflows/games.yml | 10 +++---- .github/workflows/go.yml | 12 ++++---- .github/workflows/installers.yml | 51 ++++++++++++++++++++++++++------ .github/workflows/java.yml | 12 ++++---- .github/workflows/nodejs.yml | 12 ++++---- .github/workflows/python.yml | 12 ++++---- oses/debian/Dockerfile | 2 +- 8 files changed, 78 insertions(+), 45 deletions(-) diff --git a/.github/workflows/base.yml b/.github/workflows/base.yml index d21ece0..84cd8f6 100644 --- a/.github/workflows/base.yml +++ b/.github/workflows/base.yml @@ -19,18 +19,18 @@ jobs: - alpine - debian steps: - - uses: actions/checkout@v2 - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 + - uses: actions/checkout@v3 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./oses/${{ matrix.oses }} file: ./oses/${{ matrix.oses }}/Dockerfile diff --git a/.github/workflows/games.yml b/.github/workflows/games.yml index df05e40..c98bdfe 100644 --- a/.github/workflows/games.yml +++ b/.github/workflows/games.yml @@ -19,17 +19,17 @@ jobs: - source - rust steps: - - uses: actions/checkout@v2 - - uses: docker/setup-buildx-action@v1 + - uses: actions/checkout@v3 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./games/${{ matrix.game }} file: ./games/${{ matrix.game }}/Dockerfile diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index e164dd2..3ff46e1 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -21,19 +21,19 @@ jobs: - 1.16 - 1.17 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Setup QEMU for ARM64 Build - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./go file: ./go/${{ matrix.tag }}/Dockerfile diff --git a/.github/workflows/installers.yml b/.github/workflows/installers.yml index 1bcb55e..471bf62 100644 --- a/.github/workflows/installers.yml +++ b/.github/workflows/installers.yml @@ -8,29 +8,34 @@ on: - master paths: - installers/** + +# Two separate jobs, first for multiarch (amd64, arm64), second for amd64 only + jobs: - push: - name: "installers:{{ matrix.tag }}" + pushMultiArch: + name: "yolks:installers_multiarch:${{ matrix.tag }}" runs-on: ubuntu-latest strategy: fail-fast: false matrix: tag: - alpine - - debian steps: - - uses: actions/checkout@v2 - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 + - uses: actions/checkout@v3 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - name: Setup QEMU for multiarch builds + uses: docker/setup-qemu-action@v2 + with: + platforms: arm64,amd64 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./installers file: ./installers/${{ matrix.tag }}/Dockerfile @@ -38,3 +43,31 @@ jobs: push: true tags: | ghcr.io/pterodactyl/installers:${{ matrix.tag }} + + pushAmd: + name: "yolks:installers_amd:${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - debian + steps: + - uses: actions/checkout@v2 + - uses: docker/setup-buildx-action@v2 + with: + version: "v0.7.0" + buildkitd-flags: --debug + - uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + - uses: docker/build-push-action@v3 + with: + context: ./installers + file: ./installers/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64 + push: true + tags: | + ghcr.io/pterodactyl/installers:${{ matrix.tag }} diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index 946e0c4..ccfaf39 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -26,18 +26,18 @@ jobs: - 18 - 18j9 steps: - - uses: actions/checkout@v2 - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 + - uses: actions/checkout@v3 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./java file: ./java/${{ matrix.tag }}/Dockerfile diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index f2e8da2..e8dd8c2 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -23,19 +23,19 @@ jobs: - 17 - 18 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Setup QEMU for ARM64 Build - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./nodejs file: ./nodejs/${{ matrix.tag }}/Dockerfile diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index ea43cc6..4805aba 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -22,19 +22,19 @@ jobs: - '3.10' - '3.11' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Setup QEMU for ARM64 Build - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 with: - version: "v0.5.1" + version: "v0.9.1" buildkitd-flags: --debug - - uses: docker/login-action@v1 + - uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - - uses: docker/build-push-action@v2 + - uses: docker/build-push-action@v3 with: context: ./python file: ./python/${{ matrix.tag }}/Dockerfile diff --git a/oses/debian/Dockerfile b/oses/debian/Dockerfile index fcb6069..2034266 100644 --- a/oses/debian/Dockerfile +++ b/oses/debian/Dockerfile @@ -6,7 +6,7 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk LABEL org.opencontainers.image.licenses=MIT RUN apt update && apt upgrade -y \ - && apt install -y gcc g++ libgcc1 lib32gcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \ + && apt install -y gcc g++ libgcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \ libfontconfig libicu63 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadbclient-dev libduktape203 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates tzdata \ liblua5.3 libz-dev rapidjson-dev \ && update-locale lang=en_US.UTF-8 \