name: Build Dusk on: push: branches: - main pull_request: branches: - main jobs: build-gamecube: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 - name: Install dependencies run: | apt-get update apt-get install -y docker.io - name: Build GameCube run: | .ci/dolphin/build-gamecube.sh - name: Copy gamecube run: | mkdir -p build/gitea/Gamecube/Dusk mv build/Dusk.dol build/gitea/Gamecube/Dusk/Dusk.dol mv build/dusk.dsk build/gitea/Gamecube/Dusk/dusk.dsk - name: Upload GameCube Binary uses: actions/upload-artifact@v3 with: name: dusk-gamecube path: build/gitea/Gamecube if-no-files-found: error # build-wii: # runs-on: ubuntu-latest # steps: # - name: Checkout repository # uses: actions/checkout@v5 # - name: Install dependencies # run: | # apt-get update # apt-get install -y docker.io # - name: Build Wii # run: | # ./.ci/dolphin/build-wii.sh # - name: Copy wii # run: | # mkdir -p build/gitea/Wii/apps/Dusk # mv build/Dusk.dol build/gitea/Wii/apps/Dusk/boot.dol # mv build/dusk.dsk build/gitea/Wii/apps/Dusk/dusk.dsk # - name: Upload Wii Binary # uses: actions/upload-artifact@v3 # with: # name: dusk-wii # path: build/gitea/Wii # if-no-files-found: error run-tests: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 - name: Install dependencies run: | apt-get update 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 liblua5.3-dev - name: Configure CMake for tests run: cmake -S . -B build -DDUSK_BUILD_TESTS=ON -DDUSK_TARGET_SYSTEM=linux - name: Build tests run: cmake --build build -- -j$(nproc) - name: Run tests run: ctest --output-on-failure --test-dir build build-linux: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 - name: Install dependencies run: | apt-get update 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 liblua5.3-dev - name: Configure CMake run: cmake -S . -B build -DDUSK_TARGET_SYSTEM=linux - name: Build run: cmake --build build -- -j$(nproc) - name: List build output run: ls -lh build - name: Upload Linux binary uses: actions/upload-artifact@v3 with: name: dusk-linux path: build/Dusk if-no-files-found: error build-psp: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 - name: Install dependencies run: | apt-get update 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 liblua5.3-dev - name: Configure CMake run: cmake -S . -B build -DDUSK_TARGET_SYSTEM=psp -DENABLE_TESTS=OFF - name: Build run: cmake --build build -- -j$(nproc) - name: Move EBOOT.PBP to Dusk subfolder run: | mkdir -p build/gitea/Dusk mv build/EBOOT.PBP build/gitea/Dusk/EBOOT.PBP - name: List build output run: ls -lh build/gitea/Dusk - name: Upload PSP binary uses: actions/upload-artifact@v3 with: name: dusk-psp path: build/gitea/ if-no-files-found: error