diff options
| author | claude-bot <[email protected]> | 2026-07-13 12:40:03 +0000 |
|---|---|---|
| committer | claude-bot <[email protected]> | 2026-07-13 12:40:03 +0000 |
| commit | 847962910f0bff071f3bf07c9abb87764fb6cac3 (patch) | |
| tree | ddcd429e134c7fd5f72ddc97ced175de8d66fcd0 /.github | |
| download | librw-847962910f0bff071f3bf07c9abb87764fb6cac3.tar.gz librw-847962910f0bff071f3bf07c9abb87764fb6cac3.zip | |
Snapshot for re3/reVC vendoring, per @lzcnt.
Source: https://github.com/aap/librw (master).
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/build.yml | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..1187683 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,79 @@ +name: Build +on: + pull_request: + push: + release: + types: published +jobs: + build-cmake: + name: ${{ matrix.case.name }} + runs-on: ${{ matrix.case.os }} + container: ${{ matrix.case.container }} + + strategy: + fail-fast: false + matrix: + case: + - { name: 'Windows (DirectX 9)', os: 'windows-latest', platform: 'D3D9' } + - { name: 'Windows (GL3, glfw)', os: 'windows-latest', platform: 'GL3', gl3_gfxlib: 'GLFW' } + - { name: 'Windows (GL3, SDL2)', os: 'windows-latest', platform: 'GL3', gl3_gfxlib: 'SDL2', sdl-version: '2-latest' } + - { name: 'Windows (GL3, SDL3)', os: 'windows-latest', platform: 'GL3', gl3_gfxlib: 'SDL3', sdl-version: '3-latest' } + - { name: 'Windows (null)', os: 'windows-latest', platform: 'NULL' } + - { name: 'macOS (GL3, glfw)', os: 'macos-latest', platform: 'GL3', gl3_gfxlib: 'GLFW' } + - { name: 'macOS (GL3, SDL2)', os: 'macos-latest', platform: 'GL3', gl3_gfxlib: 'SDL2', sdl-version: '2-latest' } + - { name: 'macOS (GL3, SDL3)', os: 'macos-latest', platform: 'GL3', gl3_gfxlib: 'SDL3', sdl-version: '3-latest' } + - { name: 'macOS (null)', os: 'macos-latest', platform: 'NULL' } + - { name: 'Ubuntu (GL3, glfw)', os: 'ubuntu-latest', platform: 'GL3', gl3_gfxlib: 'GLFW' } + - { name: 'Ubuntu (GL3, SDL2)', os: 'ubuntu-latest', platform: 'GL3', gl3_gfxlib: 'SDL2', sdl-version: '2-latest' } + - { name: 'Ubuntu (null)', os: 'ubuntu-latest', platform: 'NULL' } + - { name: 'PlayStation 2', os: 'ubuntu-latest', platform: 'PS2', ps2: true, container: 'ps2dev/ps2dev:latest', cmake-toolchain-file: 'cmake/ps2/cmaketoolchain/toolchain_ps2_ee.cmake' } + - { name: 'Nintendo Switch', os: 'ubuntu-latest', platform: 'GL3', gl3_gfxlib: 'GLFW', glfw-nobuild: true, container: 'devkitpro/devkita64:latest', cmake-toolchain-file: '/opt/devkitpro/cmake/Switch.cmake' } + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: 'Install PS2 dependencies' + if: ${{ matrix.case.ps2 }} + run: | + apk add cmake gmp mpc1 mpfr4 make pkgconf git + - name: 'Setup SDL' + if: ${{ !!matrix.case.sdl-version }} + uses: libsdl-org/setup-sdl@main + with: + version: ${{ matrix.case.sdl-version }} + install-linux-dependencies: true + cmake-toolchain-file: ${{ matrix.case.cmake-toolchain-file }} + - name: 'Setup GLFW' + if: ${{ matrix.case.gl3_gfxlib == 'GLFW' && !matrix.case.glfw-nobuild }} + shell: sh + run: | + ${{ (runner.os == 'Linux' && 'sudo apt-get update -y && sudo apt-get install -y libwayland-dev libxkbcommon-dev xorg-dev') || '' }} + git clone "https://github.com/glfw/glfw.git" glfw-source --depth 1 + cmake -S glfw-source -B glfw-build -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF -DGLFW_INSTALL=ON -DCMAKE_INSTALL_PREFIX=glfw-prefix -DCMAKE_TOOLCHAIN_FILE="${{ matrix.case.cmake-toolchain-file }}" -DCMAKE_BUILD_TYPE=Release + cmake --build glfw-build --config Release + cmake --install glfw-build --config Release + echo "glfw3_ROOT=${{ github.workspace}}/glfw-prefix" >${GITHUB_ENV} + - name: 'Configure (CMake)' + shell: sh + run: | + cmake -S . -B build \ + -DLIBRW_PLATFORM=${{ matrix.case.platform }} \ + -DLIBRW_GL3_GFXLIB=${{ matrix.case.gl3_gfxlib }} \ + -DCMAKE_TOOLCHAIN_FILE=${{ matrix.case.cmake-toolchain-file }} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_POLICY_DEFAULT_CMP0074=NEW + - name: 'Build (CMake)' + run: | + cmake --build build --config Release --verbose + - name: 'Create binary package (CPack)' + run: | + cd build + cpack . -C Release + - name: 'Archive binary package (GitHub artifacts)' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.case.os }}-${{ matrix.case.platform }}${{ (matrix.case.gl3_gfxlib != '' && format('-{0}', matrix.case.gl3_gfxlib)) || '' }} + path: build/*.tar.xz + if-no-files-found: error |
