Files
dusk/.github/workflows/build.yml
T
YourWishes 0d58050def
Build Dusk / build-gamecube-iso (push) Failing after 4m0s
Switch gamecube-iso to run inside extremscorner/libogc2 container
Avoids devkitPro apt server rate-limiting in CI by using the pre-built
ghcr.io/extremscorner/libogc2 container (same base as the Dockerfile).
Toolchain is already installed; only apt/dkp extras are added per-run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 12:10:43 -05:00

224 lines
6.9 KiB
YAML

name: Build Dusk
on:
push:
tags:
- '*'
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
# 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-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
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# - name: Set up Docker
# uses: docker/setup-docker-action@v5
# - name: Build knulli
# run: ./scripts/build-knulli-docker.sh
# - name: Move output to Dusk subfolder
# run: |
# mkdir -p ./git-artifcats/Dusk
# cp -r build-knulli/dusk ./git-artifcats/Dusk
# - 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-iso:
runs-on: ubuntu-latest
container:
image: ghcr.io/extremscorner/libogc2:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install additional dependencies
run: |
apt-get update
apt-get install -y \
python3 \
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 GameCube ISO
run: ./scripts/build-gamecube-iso.sh
- name: Copy output files
run: |
mkdir -p ./git-artifcats/Dusk
cp build-gamecube-iso/Dusk-NTSC-J.iso ./git-artifcats/Dusk/Dusk-NTSC-J.iso
cp build-gamecube-iso/Dusk-NTSC-U.iso ./git-artifcats/Dusk/Dusk-NTSC-U.iso
cp build-gamecube-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso
- name: Upload GameCube ISO
uses: actions/upload-artifact@v3
with:
name: dusk-gamecube-iso
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-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