From af49d1c8bb7d6f7934b7bf2febe785bf200f7af0 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Fri, 26 Jun 2026 12:49:33 -0500 Subject: [PATCH] Restore all builds; update gamecube/wii/wii-iso to use container All jobs re-enabled except vita. gamecube, wii, and wii-iso now use the ghcr.io/extremscorner/libogc2 container with Node.js pre-installed, matching the working gamecube-iso pattern. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/build.yml | 327 ++++++++++++++++++++---------------- 1 file changed, 179 insertions(+), 148 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1280e55..90f2d945 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,93 +6,91 @@ on: branches: - gitea-actions jobs: - # run-tests: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Install dependencies - # run: | - # sudo apt-get update - # sudo apt-get install -y \ - # build-essential \ - # cmake \ - # python3 \ - # python3-pip \ - # python3-polib \ - # python3-pil \ - # libsdl2-dev \ - # libgl1-mesa-dev \ - # libzip-dev \ - # python3-dotenv \ - # python3-pyqt5 \ - # python3-opengl \ - # xz-utils \ - # liblzma-dev \ - # libbz2-dev \ - # zlib1g-dev \ - # libbz2-dev \ - # git \ - # libssl-dev - # - name: Run tests - # run: ./scripts/test-linux.sh + run-tests: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + cmake \ + python3 \ + python3-pip \ + python3-polib \ + python3-pil \ + libsdl2-dev \ + libgl1-mesa-dev \ + libzip-dev \ + python3-dotenv \ + python3-pyqt5 \ + python3-opengl \ + xz-utils \ + liblzma-dev \ + libbz2-dev \ + zlib1g-dev \ + git \ + libssl-dev + - name: Run tests + run: ./scripts/test-linux.sh - # build-linux: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Install dependencies - # run: | - # sudo apt-get update - # sudo apt-get install -y \ - # build-essential \ - # cmake \ - # python3 \ - # python3-pip \ - # python3-polib \ - # python3-pil \ - # libsdl2-dev \ - # libgl1-mesa-dev \ - # libzip-dev \ - # python3-dotenv \ - # python3-pyqt5 \ - # python3-opengl \ - # xz-utils \ - # liblzma-dev \ - # libbz2-dev \ - # zlib1g-dev \ - # libbz2-dev \ - # git \ - # libssl-dev - # - name: Build Linux - # run: ./scripts/build-linux.sh - # - name: Upload Linux binary - # uses: actions/upload-artifact@v3 - # with: - # name: dusk-linux - # path: build-linux/Dusk - # if-no-files-found: error + build-linux: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + cmake \ + python3 \ + python3-pip \ + python3-polib \ + python3-pil \ + libsdl2-dev \ + libgl1-mesa-dev \ + libzip-dev \ + python3-dotenv \ + python3-pyqt5 \ + python3-opengl \ + xz-utils \ + liblzma-dev \ + libbz2-dev \ + zlib1g-dev \ + git \ + libssl-dev + - name: Build Linux + run: ./scripts/build-linux.sh + - name: Upload Linux binary + uses: actions/upload-artifact@v3 + with: + name: dusk-linux + path: build-linux/Dusk + if-no-files-found: error - # build-psp: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Setup pspdev - # uses: ./.github/actions/setup-pspdev - # - name: Build PSP - # run: ./scripts/build-psp.sh - # - name: Move EBOOT.PBP to Dusk subfolder - # run: | - # mkdir -p ./git-artifcats/Dusk/PSP/GAME/Dusk - # cp build-psp/EBOOT.PBP ./git-artifcats/Dusk/PSP/GAME/Dusk/EBOOT.PBP - # - name: Upload psp binary - # uses: actions/upload-artifact@v3 - # with: - # name: dusk-psp - # path: ./git-artifcats/Dusk - # if-no-files-found: error + build-psp: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Setup pspdev + uses: ./.github/actions/setup-pspdev + - name: Build PSP + run: ./scripts/build-psp.sh + - name: Move EBOOT.PBP to Dusk subfolder + run: | + mkdir -p ./git-artifcats/Dusk/PSP/GAME/Dusk + cp build-psp/EBOOT.PBP ./git-artifcats/Dusk/PSP/GAME/Dusk/EBOOT.PBP + - name: Upload PSP binary + uses: actions/upload-artifact@v3 + with: + name: dusk-psp + path: ./git-artifcats/Dusk + if-no-files-found: error build-knulli: runs-on: ubuntu-latest @@ -142,33 +140,44 @@ jobs: run: | mkdir -p ./git-artifcats/Dusk cp -r build-knulli/dusk ./git-artifcats/Dusk - - name: Upload knulli binary + - name: Upload Knulli binary uses: actions/upload-artifact@v3 with: name: dusk-knulli path: ./git-artifcats/Dusk if-no-files-found: error - # build-gamecube: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Set up Docker - # uses: docker/setup-docker-action@v5 - # - name: Build GameCube - # run: ./scripts/build-gamecube-docker.sh - # - name: Copy output files. - # run: | - # mkdir -p ./git-artifcats/Dusk - # cp build-gamecube/Dusk.dol ./git-artifcats/Dusk/Dusk.dol - # cp build-gamecube/dusk.dsk ./git-artifcats/Dusk/dusk.dsk - # - name: Upload GameCube binary - # uses: actions/upload-artifact@v3 - # with: - # name: dusk-gamecube - # path: ./git-artifcats/Dusk - # if-no-files-found: error + build-gamecube: + runs-on: ubuntu-latest + container: + image: ghcr.io/extremscorner/libogc2:latest + steps: + - name: Install Node.js + run: apt-get update && apt-get install -y nodejs + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install additional dependencies + run: | + apt-get install -y \ + python3-pip python3-polib python3-pil \ + python3-dotenv python3-pyqt5 python3-opengl + dkp-pacman -Syu --noconfirm + dkp-pacman -S --needed --noconfirm \ + gamecube-sdl2 ppc-liblzma ppc-libzip \ + gamecube-tools ppc-libmad ppc-zlib-ng ppc-bzip2 ppc-zstd + - name: Build GameCube + run: ./scripts/build-gamecube.sh + - name: Copy output files + run: | + mkdir -p ./git-artifcats/Dusk + cp build-gamecube/Dusk.dol ./git-artifcats/Dusk/Dusk.dol + cp build-gamecube/dusk.dsk ./git-artifcats/Dusk/dusk.dsk + - name: Upload GameCube binary + uses: actions/upload-artifact@v3 + with: + name: dusk-gamecube + path: ./git-artifcats/Dusk + if-no-files-found: error build-gamecube-iso: runs-on: ubuntu-latest @@ -203,46 +212,68 @@ jobs: path: ./git-artifcats/Dusk if-no-files-found: error - # build-wii: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Set up Docker - # uses: docker/setup-docker-action@v5 - # - name: Build Wii - # run: ./scripts/build-wii-docker.sh - # - name: Copy output files. - # run: | - # mkdir -p ./git-artifcats/Dusk/apps/Dusk - # cp build-wii/boot.dol ./git-artifcats/Dusk/apps/Dusk/boot.dol - # cp build-wii/dusk.dsk ./git-artifcats/Dusk/apps/Dusk/dusk.dsk - # cp build-wii/meta.xml ./git-artifcats/Dusk/apps/Dusk/meta.xml - # - name: Upload Wii binary - # uses: actions/upload-artifact@v3 - # with: - # name: dusk-wii - # path: ./git-artifcats/Dusk - # if-no-files-found: error + build-wii: + runs-on: ubuntu-latest + container: + image: ghcr.io/extremscorner/libogc2:latest + steps: + - name: Install Node.js + run: apt-get update && apt-get install -y nodejs + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install additional dependencies + run: | + apt-get install -y \ + python3-pip python3-polib python3-pil \ + python3-dotenv python3-pyqt5 python3-opengl + dkp-pacman -Syu --noconfirm + dkp-pacman -S --needed --noconfirm \ + gamecube-sdl2 ppc-liblzma ppc-libzip \ + gamecube-tools ppc-libmad ppc-zlib-ng ppc-bzip2 ppc-zstd + - name: Build Wii + run: ./scripts/build-wii.sh + - name: Copy output files + run: | + mkdir -p ./git-artifcats/Dusk/apps/Dusk + cp build-wii/boot.dol ./git-artifcats/Dusk/apps/Dusk/boot.dol + cp build-wii/dusk.dsk ./git-artifcats/Dusk/apps/Dusk/dusk.dsk + cp build-wii/meta.xml ./git-artifcats/Dusk/apps/Dusk/meta.xml + - name: Upload Wii binary + uses: actions/upload-artifact@v3 + with: + name: dusk-wii + path: ./git-artifcats/Dusk + if-no-files-found: error - # build-wii-iso: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Set up Docker - # uses: docker/setup-docker-action@v5 - # - name: Build Wii ISO - # run: ./scripts/build-wii-iso-docker.sh - # - name: Copy output files. - # run: | - # mkdir -p ./git-artifcats/Dusk - # cp build-wii-iso/Dusk-NTSC-J.iso ./git-artifcats/Dusk/Dusk-NTSC-J.iso - # cp build-wii-iso/Dusk-NTSC-U.iso ./git-artifcats/Dusk/Dusk-NTSC-U.iso - # cp build-wii-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso - # - name: Upload Wii ISO - # uses: actions/upload-artifact@v3 - # with: - # name: dusk-wii-iso - # path: ./git-artifcats/Dusk - # if-no-files-found: error \ No newline at end of file + build-wii-iso: + runs-on: ubuntu-latest + container: + image: ghcr.io/extremscorner/libogc2:latest + steps: + - name: Install Node.js + run: apt-get update && apt-get install -y nodejs + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install additional dependencies + run: | + apt-get install -y \ + python3-pip python3-polib python3-pil \ + python3-dotenv python3-pyqt5 python3-opengl xorriso + dkp-pacman -Syu --noconfirm + dkp-pacman -S --needed --noconfirm \ + gamecube-sdl2 ppc-liblzma ppc-libzip \ + gamecube-tools ppc-libmad ppc-zlib-ng ppc-bzip2 ppc-zstd + - name: Build Wii ISO + run: ./scripts/build-wii-iso.sh + - name: Copy output files + run: | + mkdir -p ./git-artifcats/Dusk + cp build-wii-iso/Dusk-NTSC-J.iso ./git-artifcats/Dusk/Dusk-NTSC-J.iso + cp build-wii-iso/Dusk-NTSC-U.iso ./git-artifcats/Dusk/Dusk-NTSC-U.iso + cp build-wii-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso + - name: Upload Wii ISO + uses: actions/upload-artifact@v3 + with: + name: dusk-wii-iso + path: ./git-artifcats/Dusk + if-no-files-found: error