Add setup-pspdev and setup-devkitpro composite actions; enable gamecube-iso
Build Dusk / build-gamecube-iso (push) Failing after 1m9s

Extracts toolchain setup into reusable composite actions under
.github/actions/. Comments out build-psp, adds build-gamecube-iso
job using the new setup-devkitpro action directly on the runner.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-26 11:51:06 -05:00
parent 7ec5266b1f
commit d3df8a96d3
3 changed files with 98 additions and 63 deletions
@@ -0,0 +1,45 @@
name: Setup devkitPro
description: Install devkitPro with GameCube/Wii packages on an Ubuntu runner
runs:
using: composite
steps:
- name: Install apt dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y \
cmake \
python3 \
python3-pip \
python3-polib \
python3-pil \
python3-dotenv \
python3-pyqt5 \
python3-opengl \
xorriso
- name: Install devkitPro pacman
shell: bash
run: |
wget -q https://apt.devkitpro.org/install-devkitpro-pacman \
-O /tmp/install-devkitpro-pacman
chmod +x /tmp/install-devkitpro-pacman
sudo /tmp/install-devkitpro-pacman
echo "DEVKITPRO=/opt/devkitpro" >> $GITHUB_ENV
echo "DEVKITPPC=/opt/devkitpro/devkitPPC" >> $GITHUB_ENV
echo "/opt/devkitpro/tools/bin" >> $GITHUB_PATH
echo "/opt/devkitpro/devkitPPC/bin" >> $GITHUB_PATH
- name: Install devkitPro GameCube/Wii packages
shell: bash
run: |
sudo dkp-pacman -S --needed --noconfirm \
gamecube-dev \
gamecube-sdl2 \
ppc-liblzma \
ppc-libzip \
libogc2 \
gamecube-tools \
ppc-libmad \
ppc-zlib-ng \
ppc-bzip2 \
ppc-zstd
+20
View File
@@ -0,0 +1,20 @@
name: Setup pspdev
description: Install the pspdev PSP toolchain on an Ubuntu runner
runs:
using: composite
steps:
- name: Install dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y cmake python3 python3-pip python3-dotenv
- name: Install pspdev toolchain
shell: bash
run: |
wget -q \
https://github.com/pspdev/pspdev/releases/latest/download/pspdev-ubuntu-latest-x86_64.tar.gz \
-O /tmp/pspdev.tar.gz
sudo tar -xzf /tmp/pspdev.tar.gz -C /usr/local
echo "PSPDEV=/usr/local/pspdev" >> $GITHUB_ENV
echo "/usr/local/pspdev/bin" >> $GITHUB_PATH
+33 -63
View File
@@ -74,54 +74,24 @@ jobs:
# path: build-linux/Dusk # path: build-linux/Dusk
# if-no-files-found: error # if-no-files-found: error
build-psp: # build-psp:
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 \
cmake \
python3 \
python3-pip \
python3-dotenv
- name: Install pspdev toolchain
run: |
wget -q \
https://github.com/pspdev/pspdev/releases/latest/download/pspdev-ubuntu-latest-x86_64.tar.gz \
-O /tmp/pspdev.tar.gz
sudo tar -xzf /tmp/pspdev.tar.gz -C /usr/local
echo "PSPDEV=/usr/local/pspdev" >> $GITHUB_ENV
echo "/usr/local/pspdev/bin" >> $GITHUB_PATH
- 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-vita:
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
# steps: # steps:
# - name: Checkout repository # - name: Checkout repository
# uses: actions/checkout@v4 # uses: actions/checkout@v4
# - name: Set up Docker # - name: Setup pspdev
# uses: docker/setup-docker-action@v5 # uses: ./.github/actions/setup-pspdev
# - name: Build Vita # - name: Build PSP
# run: ./scripts/build-vita-docker.sh # run: ./scripts/build-psp.sh
# - name: Upload Vita binary # - 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 # uses: actions/upload-artifact@v3
# with: # with:
# name: dusk-vita # name: dusk-psp
# path: build-vita/Dusk.vpk # path: ./git-artifcats/Dusk
# if-no-files-found: error # if-no-files-found: error
# build-knulli: # build-knulli:
@@ -165,27 +135,27 @@ jobs:
# path: ./git-artifcats/Dusk # path: ./git-artifcats/Dusk
# if-no-files-found: error # if-no-files-found: error
# build-gamecube-iso: build-gamecube-iso:
# runs-on: ubuntu-latest runs-on: ubuntu-latest
# steps: steps:
# - name: Checkout repository - name: Checkout repository
# uses: actions/checkout@v4 uses: actions/checkout@v4
# - name: Set up Docker - name: Setup devkitPro
# uses: docker/setup-docker-action@v5 uses: ./.github/actions/setup-devkitpro
# - name: Build GameCube ISO - name: Build GameCube ISO
# run: ./scripts/build-gamecube-iso-docker.sh run: ./scripts/build-gamecube-iso.sh
# - name: Copy output files. - name: Copy output files
# run: | run: |
# mkdir -p ./git-artifcats/Dusk 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-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-NTSC-U.iso ./git-artifcats/Dusk/Dusk-NTSC-U.iso
# cp build-gamecube-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso cp build-gamecube-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso
# - name: Upload GameCube ISO - name: Upload GameCube ISO
# uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
# with: with:
# name: dusk-gamecube-iso name: dusk-gamecube-iso
# path: ./git-artifcats/Dusk path: ./git-artifcats/Dusk
# if-no-files-found: error if-no-files-found: error
# build-wii: # build-wii:
# runs-on: ubuntu-latest # runs-on: ubuntu-latest