diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b15c5baa1..51c8e307ed 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,12 @@ +variables: + PR_NUMBER: "pr$CI_MERGE_REQUEST_IID" + stages: - format - build + - build-mac + - build-msvc + - android clang-format: stage: format @@ -24,3 +30,51 @@ build-linux: artifacts: paths: - artifacts/* + +build-mac: + stage: build-mac + image: suyuemu/cibuild:latest + script: + - git submodule update --init --depth 1 --recursive + - mkdir -p build + - cd build + - export Qt5_DIR="/usr/local/Qt-5.x/lib/cmake" + - cmake .. -GNinja -DCMAKE_BUILD_TYPE=debug -DYUZU_USE_BUNDLED_VCPKG=OFF -DYUZU_TESTS=OFF -DENABLE_WEB_SERVICE=OFF -DENABLE_LIBUSB=OFF -DCLANG_FORMAT=ON -DSDL2_DISABLE_INSTALL=ON -DSDL_ALTIVEC=ON + - ninja + artifacts: + name: "macos" + paths: + - artifacts/* + +build-msvc: + stage: build-msvc + image: mcr.microsoft.com/windows/servercore:ltsc2019 + script: + - Invoke-WebRequest -Uri "https://github.com/mbitsnbites/buildcache/releases/download/v0.28.4/buildcache-windows.zip" -OutFile "buildcache-windows.zip" + - Expand-Archive -Path "buildcache-windows.zip" -DestinationPath "C:\buildcache" + - echo "C:\buildcache\bin" | Out-File -FilePath $env:Path -Encoding utf8 -Append + - .\.ci\scripts\windows\install-vulkan-sdk.ps1 + - .\CMakeModules\MSVCCache.cmake + - glslangValidator --version + - mkdir build + - cd build + - cmake .. -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DYUZU_CRASH_DUMPS=ON + - cmake --build . + artifacts: + name: "msvc" + paths: + - artifacts/* + +android: + stage: android + image: openjdk:17 + script: + - apt-get update -y + - apt-get install -y ccache apksigner glslang-dev glslang-tools + - bash -c "export PR_NUMBER=$PR_NUMBER; ./.ci/scripts/android/build.sh" + artifacts: + name: "android" + paths: + - artifacts/* + +