Files
dusk/.github/workflows/build.yml
T
YourWishes 5c93503710
Build Dusk / build-gamecube-iso (push) Failing after 5s
Fix gamecube-iso: use docker run instead of job container
actions/checkout requires Node.js which the libogc2 container lacks.
Checkout on the runner, then run the full build inside the container
via docker run with the workspace mounted.

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

215 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
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build GameCube ISO
run: |
docker run --rm \
-v "${{ github.workspace }}:/workdir" \
-w /workdir \
ghcr.io/extremscorner/libogc2:latest \
/bin/bash -c "
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 &&
./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