diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..c2bdf2a9 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: bjornbytes diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..7f9803eb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,114 @@ +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/*.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 -OL 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: 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: Upload + uses: actions/upload-artifact@v3 + with: + name: lovr.app + path: build/lovr.app diff --git a/README.md b/README.md index 106b5f74..2319844b 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ You can use LÖVR to easily create VR experiences without much setup or programming experience. The framework is tiny, fast, open source, and supports lots of different platforms and devices. -[![Build status](https://ci.appveyor.com/api/projects/status/alx3kdi35bmxka8c/branch/master?svg=true)](https://ci.appveyor.com/project/bjornbytes/lovr/branch/master) +[![Build](https://github.com/bjornbytes/lovr/actions/workflows/build.yml/badge.svg?event=push)](https://github.com/bjornbytes/lovr/actions/workflows/build.yml) [![Version](https://img.shields.io/github/release/bjornbytes/lovr.svg?label=version)](https://github.com/bjornbytes/lovr/releases) -[![Slack](https://img.shields.io/badge/chat-slack-7e4e76.svg)](https://lovr.org/slack) +[![Matrix](https://img.shields.io/badge/chat-matrix-7e4e76.svg)](https://lovr.org/matrix) [**Homepage**](https://lovr.org) | [**Documentation**](https://lovr.org/docs) | [**FAQ**](https://lovr.org/docs/FAQ) @@ -35,7 +35,7 @@ Getting Started --- It's really easy to get started making things with LÖVR. Grab a copy of the executable from , -then write a `main.lua` script and drag its parent folder onto the executable. Here are some example projects to try: +then write a `main.lua` script and drag it onto the executable. Here are some example projects to try: #### Hello World diff --git a/etc/appveyor.yml b/etc/appveyor.yml deleted file mode 100644 index 503104a1..00000000 --- a/etc/appveyor.yml +++ /dev/null @@ -1,55 +0,0 @@ -skip_branch_with_pr: true - -clone_depth: 1 - -only_commits: - files: - - etc/ - - src/ - - deps/ - - CMakeLists.txt - -branches: - only: - - master - - dev - -environment: - VULKAN_SDK: C:/VulkanSDK - -cache: - - VulkanSDK.exe - -install: - - if not exist VulkanSDK.exe curl -L --silent --show-error --output VulkanSDK.exe https://sdk.lunarg.com/sdk/download/1.3.216.0/windows/VulkanSDK-1.3.216.0-Installer.exe?Human=true - - VulkanSDK.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install - -image: Visual Studio 2022 - -before_build: - - cd C:\projects\lovr - - git submodule update --init - - md build - - cd build - - cmake -DCMAKE_BUILD_TYPE=%configuration% -A x64 .. - -configuration: Release - -build: - project: build\lovr.sln - verbosity: quiet - -after_build: - - cd C:\projects\lovr - - 7z a lovr.zip C:\projects\lovr\build\Release\*.dll C:\projects\lovr\build\Release\lovr.exe - -artifacts: - - path: lovr.zip - -deploy: - provider: Webhook - url: https://lovr.org/nightly - on: - branch: master - authorization: - secure: zbxwiHmtJRVP9FdiqxepLdLGjxhtpjVytb+yLSqrz+8Bl1bH6k5Zts809bLrEjzn