c71dbb1dfc
Runs the job inside debian:trixie (same as the Dockerfile) with Node.js pre-installed before checkout. Installs arm64 cross-compilation deps and runs build-knulli.sh directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
248 lines
7.7 KiB
YAML
248 lines
7.7 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
|
|
container:
|
|
image: debian:trixie
|
|
steps:
|
|
- name: Install Node.js
|
|
run: apt-get update && apt-get install -y nodejs
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
dpkg --add-architecture arm64
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends \
|
|
crossbuild-essential-arm64 \
|
|
ca-certificates \
|
|
pkg-config \
|
|
cmake \
|
|
make \
|
|
ninja-build \
|
|
git \
|
|
file \
|
|
python3 \
|
|
python3-pip \
|
|
python3-polib \
|
|
python3-pil \
|
|
python3-dotenv \
|
|
python3-pyqt5 \
|
|
python3-opengl \
|
|
liblua5.4-dev:arm64 \
|
|
xz-utils:arm64 \
|
|
libbz2-dev:arm64 \
|
|
zlib1g-dev:arm64 \
|
|
libzip-dev:arm64 \
|
|
libssl-dev:arm64 \
|
|
libsdl2-dev:arm64 \
|
|
liblzma-dev:arm64 \
|
|
libopengl0:arm64 \
|
|
libgl1:arm64 \
|
|
libegl1:arm64 \
|
|
libgles2:arm64 \
|
|
libgl1-mesa-dev:arm64
|
|
- name: Build Knulli
|
|
run: ./scripts/build-knulli.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: 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 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 |