mirror of https://github.com/bjornbytes/lovr.git
131 lines
3.9 KiB
YAML
131 lines
3.9 KiB
YAML
name: Build
|
|
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
CMAKE_BUILD_TYPE: ${{ github.event_name == 'pull_request' && 'Debug' || 'Release' }}
|
|
|
|
jobs:
|
|
windows:
|
|
name: Windows
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Configure
|
|
run: cmake -B build
|
|
shell: cmd
|
|
- name: Build
|
|
run: cmake --build build --config %CMAKE_BUILD_TYPE%
|
|
shell: cmd
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: lovr.exe
|
|
path: |
|
|
build/Release/lovr.exe
|
|
build/Release/lovrc.bat
|
|
build/Release/*.dll
|
|
|
|
linux:
|
|
name: Linux
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Update Packages
|
|
run: sudo apt update
|
|
- name: Install Packages
|
|
run: sudo apt install -y xorg-dev libxcb-glx0-dev libfuse2
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Init
|
|
run: cmake -B build -D LOVR_BUILD_BUNDLE=ON
|
|
- name: Build
|
|
run: cmake --build build
|
|
- name: AppImage
|
|
run: >
|
|
curl -sOL https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage &&
|
|
chmod +x ./appimagetool-x86_64.AppImage &&
|
|
./appimagetool-x86_64.AppImage build/bin &&
|
|
mv LÖVR-x86_64.AppImage lovr-x86_64.AppImage
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: lovr.appimage
|
|
path: lovr-x86_64.AppImage
|
|
|
|
android:
|
|
name: Android
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Update Packages
|
|
run: sudo apt update
|
|
- name: Install Packages
|
|
run: sudo apt install -y glslang-tools
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Init
|
|
run: >
|
|
mkdir build &&
|
|
cd build &&
|
|
keytool
|
|
-genkey
|
|
-dname 'cn=Unknown, ou=Unknown, o=Unknown, l=Unknown, st=Unknown, c=Unknown'
|
|
-keystore key.keystore
|
|
-keypass hunter2
|
|
-storepass hunter2
|
|
-alias key
|
|
-keyalg RSA
|
|
-keysize 2048
|
|
-validity 10000 &&
|
|
cmake ..
|
|
-D CMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake
|
|
-D ANDROID_SDK=$ANDROID_HOME
|
|
-D ANDROID_ABI=arm64-v8a
|
|
-D ANDROID_NATIVE_API_LEVEL=29
|
|
-D ANDROID_BUILD_TOOLS_VERSION=30.0.3
|
|
-D ANDROID_KEYSTORE=key.keystore
|
|
-D ANDROID_KEYSTORE_PASS=pass:hunter2
|
|
- name: Build
|
|
run: cmake --build build
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: lovr.apk
|
|
path: build/lovr.apk
|
|
|
|
macos:
|
|
name: macOS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Install Wulkan
|
|
env:
|
|
VKV: 1.3.231.1
|
|
run: |
|
|
curl -sOL https://sdk.lunarg.com/sdk/download/$VKV/mac/vulkansdk-macos-$VKV.dmg?Human=true
|
|
hdiutil attach vulkansdk-macos-$VKV.dmg
|
|
cp -R /Volumes/vulkansdk-macos-$VKV .
|
|
hdiutil detach /Volumes/vulkansdk-macos-$VKV
|
|
export VULKAN_SDK=${{ runner.temp }}/vulkan && echo "VULKAN_SDK=$VULKAN_SDK/macOS" >> $GITHUB_ENV
|
|
sudo vulkansdk-macos-$VKV/InstallVulkan.app/Contents/MacOS/InstallVulkan --root $VULKAN_SDK --accept-licenses --default-answer --confirm-command install
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Init
|
|
run: cmake -B build -D LOVR_BUILD_BUNDLE=ON -D Vulkan_LIBRARY=$VULKAN_SDK/../MoltenVK/dylib/macOS/libMoltenVK.dylib
|
|
- name: Build
|
|
run: cmake --build build
|
|
- name: Package
|
|
run: ditto -c -k --keepParent build/lovr.app lovr.zip
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: lovr.app
|
|
path: lovr.zip
|