diff --git a/.github/workflows/wii.yml b/.github/workflows/wii.yml new file mode 100644 index 000000000..a8b4a5f87 --- /dev/null +++ b/.github/workflows/wii.yml @@ -0,0 +1,64 @@ +--- +name: Nintendo Wii + +on: # yamllint disable-line rule:truthy + push: + branches: + - master + paths-ignore: + - '*.md' + - 'docs/**' + pull_request: + types: [opened, synchronize] + paths-ignore: + - '*.md' + - 'docs/**' + release: + types: [published] + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + container: devkitpro/devkitppc:latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install dependencies + run: | + apt-get update -y && \ + apt-get install -y --no-install-recommends --no-install-suggests \ + gettext smpq + + - name: Configure CMake + run: | + /opt/devkitpro/portlibs/wii/bin/powerpc-eabi-cmake \ + -S . \ + -B build \ + -D CMAKE_BUILD_TYPE=RelWithDebInfo + + - name: Build DevilutionX + run: cmake --build build -j 2 + + - name: Upload Package + if: ${{ !env.ACT }} + uses: actions/upload-artifact@v4 + with: + name: devilutionx.dol + path: ./build/devilutionx.dol + + - name: Update Release + if: ${{ github.event_name == 'release' && !env.ACT }} + uses: svenstaro/upload-release-action@v2 + with: + asset_name: devilutionx-wii.dol + file: ./build/devilutionx.dol + overwrite: true +...