Skip to content

Initial Haiku port #264

Initial Haiku port

Initial Haiku port #264

Workflow file for this run

name: build
on:
push:
paths:
- 'src/**'
- 'build-*/**'
- 'data-*/**'
- 'packaging/**'
- 'CMakeLists.txt'
- '.github/workflows/**.yml'
pull_request:
paths:
- 'src/**'
- 'build-*/**'
- 'data-*/**'
- 'packaging/**'
- 'CMakeLists.txt'
- '.github/workflows/**.yml'
jobs:
linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install deps
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libgl-dev libglew-dev libxss-dev libxxf86vm-dev libasound2-dev libudev-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype6-dev libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev cmake ninja-build
- name: Build
run: |
mkdir build
cd build
cmake .. -G Ninja
ninja -j4
windows:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
with:
update: true
msystem: UCRT64
install: >-
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-cmake
mingw-w64-ucrt-x86_64-ninja
mingw-w64-ucrt-x86_64-glew
mingw-w64-ucrt-x86_64-zlib
mingw-w64-ucrt-x86_64-gtk3
mingw-w64-ucrt-x86_64-libpng
mingw-w64-ucrt-x86_64-libjpeg-turbo
mingw-w64-ucrt-x86_64-SDL2
mingw-w64-ucrt-x86_64-SDL2_ttf
mingw-w64-ucrt-x86_64-nsis
mingw-w64-ucrt-x86_64-7zip
# custom built packages with less dependencies than MSYS' counterparts
- name: Install external packages
run: |
wget https://grejer.voxelmanip.se/msys-pkgs/mingw-w64-ucrt-x86_64-{curl-winssl-8.4.0-3,freetype-2.13.2-1,SDL2_image-2.6.3-2,SDL2_mixer-2.6.3-1}-any.pkg.tar.zst
pacman -U --noconfirm *.pkg.tar.zst
- name: Build
run: |
mkdir build
cd build
cmake .. -G Ninja
ninja -j4
- name: Bundle together installer and portable
run: |
cd build
../packaging/windows_release.sh
../packaging/windows_portable.sh
- name: Upload output as artifact
uses: actions/upload-artifact@v3
with:
name: principia-setup.exe
path: build/principia-setup.exe
- name: Upload output as artifact
uses: actions/upload-artifact@v3
with:
name: principia-portable.7z
path: build/principia-portable.7z
android:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install deps
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends openjdk-11-jdk-headless
- name: Build with gradle
run: |
cd build-android
./gradlew assemblerelease
- name: Save apk artifact
uses: actions/upload-artifact@v3
with:
name: principia-release-unsigned.apk
path: build-android/principia/build/outputs/apk/release/principia-release-unsigned.apk