fixing CI build #5
This file contains 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 (Sony Playstation Vita) | |
on: [push, pull_request] | |
defaults: | |
run: | |
shell: sh | |
jobs: | |
vita: | |
name: ${{ matrix.platform.name }} | |
runs-on: ubuntu-latest | |
container: | |
image: vitasdk/vitasdk:latest | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- { name: GLES (pib), os: windows-latest, pib: true } | |
- { name: GLES (PVR_PSP2 + gl4es4vita), os: windows-latest, pvr: true } | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install build requirements | |
run: | | |
apk update | |
apk add cmake ninja pkgconf bash | |
- name: Configure PVR_PSP2 (GLES) | |
if: ${{ !!matrix.platform.pvr }} | |
run: | | |
pvr_psp2_version=3.9 | |
# Configure PVR_PSP2 headers | |
wget https://github.com/GrapheneCt/PVR_PSP2/archive/refs/tags/v$pvr_psp2_version.zip -P/tmp | |
unzip /tmp/v$pvr_psp2_version.zip -d/tmp | |
cp -r /tmp/PVR_PSP2-$pvr_psp2_version/include/* ${VITASDK}/arm-vita-eabi/include | |
rm /tmp/v$pvr_psp2_version.zip | |
# Configure PVR_PSP2 stub libraries | |
wget https://github.com/GrapheneCt/PVR_PSP2/releases/download/v$pvr_psp2_version/vitasdk_stubs.zip -P/tmp | |
unzip /tmp/vitasdk_stubs.zip -d/tmp/pvr_psp2_stubs | |
find /tmp/pvr_psp2_stubs -type f -name "*.a" -exec cp {} ${VITASDK}/arm-vita-eabi/lib \; | |
rm /tmp/vitasdk_stubs.zip | |
rm -rf /tmp/pvr_psp2_stubs | |
- name: Configure gl4es4vita (OpenGL) | |
if: ${{ !!matrix.platform.pvr }} | |
run: | | |
gl4es4vita_version=1.1.4 | |
# Configure gl4es4vita headers | |
wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/include.zip -P/tmp | |
unzip -o /tmp/include.zip -d${VITASDK}/arm-vita-eabi/include | |
rm /tmp/include.zip | |
# Configure gl4es4vita stub libraries | |
wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/vitasdk_stubs.zip -P/tmp | |
unzip /tmp/vitasdk_stubs.zip -d${VITASDK}/arm-vita-eabi/lib | |
- name: Configure CMake | |
run: | | |
cmake -S . -B build -G Ninja \ | |
-DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake \ | |
-DVIDEO_VITA_PIB=${{ !!matrix.platform.pib }} \ | |
-DVIDEO_VITA_PVR=${{ !!matrix.platform.pvr }} \ | |
-DSDL_WERROR=ON \ | |
-DSDL_TESTS=ON \ | |
-DSDL_INSTALL_TESTS=ON \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=prefix | |
- name: Build | |
run: cmake --build build --verbose | |
- name: Install CMake | |
run: | | |
echo "SDL2_DIR=$(pwd)/prefix" >> $GITHUB_ENV | |
cmake --install build/ | |
( cd prefix; find ) | LC_ALL=C sort -u | |
- name: Verify CMake configuration files | |
run: | | |
cmake -S cmake/test -B cmake_config_build -G Ninja \ | |
-DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake \ | |
-DTEST_SHARED=FALSE \ | |
-DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }} \ | |
-DCMAKE_BUILD_TYPE=Release | |
cmake --build cmake_config_build --verbose | |
- name: Verify sdl2-config | |
run: | | |
export CC=arm-vita-eabi-gcc | |
export PATH=${{ env.SDL2_DIR }}/bin:$PATH | |
cmake/test/test_sdlconfig.sh | |
- name: Verify sdl2.pc | |
run: | | |
export CC=arm-vita-eabi-gcc | |
export PKG_CONFIG_PATH=${{ env.SDL2_DIR }}/lib/pkgconfig | |
cmake/test/test_pkgconfig.sh |