Skip to content

[pull] master from DCurrent:master #148

[pull] master from DCurrent:master

[pull] master from DCurrent:master #148

name: Build OpenBOR
on: [push, pull_request]
jobs:
Build:
name: ${{ matrix.platform.name }}
runs-on: ${{ matrix.platform.os }}
defaults:
run:
shell: ${{ matrix.platform.shell }}
strategy:
fail-fast: false
matrix:
platform:
- { name: Windows-x64, os: windows-latest, shell: 'msys2 {0}', msystem: ucrt64, msys-env: mingw-w64-ucrt-x86_64 }
- { name: Ubuntu-x64, os: ubuntu-latest, shell: sh }
- { name: MacOS, os: macos-latest, shell: sh }
steps:
- name: Set up MSYS2
if: matrix.platform.shell == 'msys2 {0}'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.platform.msystem }}
install: >-
git
${{ matrix.platform.msys-env }}-gcc
${{ matrix.platform.msys-env }}-cmake
${{ matrix.platform.msys-env }}-SDL2
${{ matrix.platform.msys-env }}-zlib
${{ matrix.platform.msys-env }}-libvorbis
${{ matrix.platform.msys-env }}-libogg
${{ matrix.platform.msys-env }}-libpng
${{ matrix.platform.msys-env }}-libvpx
- name: Setup Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install build-essential git cmake zstd \
libsdl2-dev libvorbis-dev libpng-dev libvpx-dev
- name: Setup Macos dependencies
if: runner.os == 'macOS'
run: |
brew install \
SDL2 \
libvorbis \
libogg \
libvpx
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configure
run: |
${{ matrix.platform.source_cmd }}
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
${{ matrix.platform.cmake }}
- name: Build
run: |
${{ matrix.platform.source_cmd }}
cmake --build build/ --config Release --verbose --parallel
- name: Version
id: vars
run: echo "version_name=$(cat engine/version.txt)" >> $GITHUB_ENV
- name: Upload
uses: actions/upload-artifact@v4
with:
name: "${{ env.version_name }}_${{ matrix.platform.name }}"
path: engine/releases/
Android:
name: Android-arm64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '17'
cache: gradle
cache-dependency-path: |
engine/android/*.gradle
engine/android/gradle/wrapper/gradle-wrapper.properties
engine/android/app/*.gradle
- name: Set up Android SDK
uses: android-actions/setup-android@v4
- name: Install Android packages
run: sdkmanager "platforms;android-35" "build-tools;36.0.0" "ndk;21.4.7075529"
- name: Generate version
working-directory: engine
run: bash version.sh
- name: Build Android ARM64
working-directory: engine/android
run: |
chmod +x gradlew
./gradlew --no-daemon clean assembleDebug
- name: Version
run: echo "version_name=$(cat engine/version.txt)" >> $GITHUB_ENV
- name: Upload
uses: actions/upload-artifact@v4
with:
name: "${{ env.version_name }}_Android-arm64"
path: engine/android/app/build/outputs/apk/debug/OpenBOR.apk
if-no-files-found: error