Switch to sdl3 #611
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: [push, pull_request] | |
| jobs: | |
| Linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install --no-install-recommends git ca-certificates g++ make cmake zlib1g-dev libasound-dev libxkbcommon-dev libdrm-dev libgl1-mesa-dev libgbm-dev libwayland-dev libdecor-0-dev | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DSDL_X11=OFF .. | |
| cmake --build . | |
| strip --strip-unneeded oceanpop | |
| make install DESTDIR=AppDir | |
| wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage | |
| chmod +x linuxdeploy*.AppImage | |
| ./linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-linux | |
| path: | | |
| oceanpop/OceanPop*.AppImage | |
| Windows: | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| steps: | |
| - name: Install dependencies | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: MINGW64 | |
| install: >- | |
| mingw-w64-x86_64-gcc | |
| mingw-w64-x86_64-binutils | |
| mingw-w64-x86_64-make | |
| mingw-w64-x86_64-cmake | |
| mingw-w64-x86_64-pkgconf | |
| mingw-w64-x86_64-SDL2 | |
| mingw-w64-x86_64-jsoncpp | |
| update: true | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| cmake -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" .. | |
| cmake --build . | |
| strip --strip-unneeded oceanpop.exe | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-windows | |
| path: | | |
| oceanpop/oceanpop.exe | |
| oceanpop/assets | |
| MacOS: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| cmake -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| strip -u -r -x oceanpop | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-macos | |
| path: | | |
| oceanpop/oceanpop | |
| oceanpop/assets | |
| PS2: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ps2dev/ps2dev:latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| apk add --no-cache gmp mpc1 mpfr4 make pkgconf cmake git | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PS2DEV/share/ps2dev.cmake .. | |
| cmake --build . | |
| mips64r5900el-ps2-elf-strip --strip-unneeded oceanpop.elf | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-ps2 | |
| path: | | |
| oceanpop/oceanpop.elf | |
| oceanpop/assets | |
| PSP: | |
| runs-on: ubuntu-latest | |
| container: pspdev/pspdev:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| psp-cmake -DCMAKE_BUILD_TYPE=Release .. | |
| cmake --build . | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-psp | |
| path: | | |
| oceanpop/EBOOT.PBP | |
| oceanpop/assets | |
| Vita: | |
| runs-on: ubuntu-latest | |
| container: vitasdk/vitasdk:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="${VITASDK}/share/vita.toolchain.cmake" .. | |
| cmake --build . | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-vita | |
| path: | | |
| oceanpop/oceanpop.vpk | |
| Wii: | |
| runs-on: ubuntu-latest | |
| container: devkitpro/devkitppc:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Build | |
| run: | | |
| mkdir oceanpop && cd oceanpop | |
| /opt/devkitpro/portlibs/wii/bin/powerpc-eabi-cmake -DCMAKE_BUILD_TYPE=Release .. | |
| make | |
| - name: Prepare package | |
| run: | | |
| ./platform/wii/make_release.sh oceanpop ${{ github.ref_name }} | |
| - name: Publish artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: oceanpop-wii | |
| path: | | |
| oceanpop/oceanpop*.zip | |
| Release: | |
| needs: [Linux, Windows, MacOS, PSP, Vita, Wii, PS2] | |
| if: ${{ github.ref_type == 'tag' }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| max-parallel: 1 | |
| matrix: | |
| build: [linux, windows, macos, psp, vita, wii, ps2] | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| - name: Zip artifacts | |
| run: | | |
| zip -r oceanpop-${{matrix.build}}.zip oceanpop-${{matrix.build}} | |
| - name: Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: oceanpop-${{matrix.build}}.zip | |
| prerelease: true | |
| name: OceanPop ${{ github.ref_name }} | |
| tag_name: ${{ github.ref_name }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |