Skip to content

Ci Runners for Windows & Mac #229

Ci Runners for Windows & Mac

Ci Runners for Windows & Mac #229

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
build-on-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '3.24.x'
- name: Test cmake version
run: cmake --version
- name: Install OS dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
freeglut3-dev \
g++ \
libcurl4-openssl-dev \
libfontconfig-dev \
libgl1-mesa-dev \
libgtk2.0-dev \
mesa-common-dev \
unzip
- name: Set relative paths
run: |
WXMSW3=$HOME/wx-3.2.3
echo "WXMSW3=$WXMSW3" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
- name: Install wxWidgets
run: |
curl -L https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.3/wxWidgets-3.2.3.tar.bz2 -o wxWidgets-3.2.3.tar.bz2
tar jxf wxWidgets-3.2.3.tar.bz2
cd wxWidgets-3.2.3
./configure --prefix=$HOME/wx-3.2.3 --enable-shared=no --enable-debug=no --with-gtk=2 --with-libjpeg=builtin --with-libpng=builtin --with-regex=builtin --with-libtiff=builtin --with-zlib=builtin --with-expat=builtin --without-libjbig --without-liblzma --without-gtkprint --with-libnotify=no --with-libmspack=no --with-gnomevfs=no --with-opengl=yes --with-sdl=no --with-cxx=11
make -j4
make install
sudo ln -s $HOME/wx-3.2.3/bin/wx-config /usr/local/bin/wx-config-3
wx-config-3 --cflags
echo $HOME/wx-3.2.3/bin >> $GITHUB_PATH
- name: Save wxWidgets build
uses: actions/upload-artifact@v4
with:
name: wxWidgets-linux
path: |
${{ env.WXMSW3 }}
- name: Build LK
run: |
cmake -Bbuild_linux -DCMAKE_BUILD_TYPE=Debug
cmake --build build_linux -- -j4
- name: Save static lib & lksandbox
uses: actions/upload-artifact@v4
with:
name: LK-linux
path: |
build_linux/lk_sandbox*
build_linux/lk*.a
build-on-windows:
runs-on: windows-latest
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Set relative paths
shell: bash
run: |
WXMSW3=$GITHUB_WORKSPACE/wxWidgets-3.2.3
echo "WXMSW3=$WXMSW3" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
- name: Download wxWidgets
shell: bash
run: |
curl -L https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.3/wxWidgets-3.2.3.tar.bz2 -o wxWidgets-3.2.3.tar.bz2
ls
tar jxf wxWidgets-3.2.3.tar.bz2
- name: Install wxWidgets
run: |
cd wxWidgets-3.2.3
msbuild build/msw/wx_vc17.sln /t:Build /p:Configuration=Release /p:Platform=x64
- name: Make wxWidgets archive
shell: bash
run: |
mkdir wx-3.2.3
mkdir -p wx-3.2.3/build/msw
cp -r wxWidgets-3.2.3/build/msw/vc_* wx-3.2.3/build/msw
cp -r wxWidgets-3.2.3/include wx-3.2.3
cp -r wxWidgets-3.2.3/lib wx-3.2.3
- name: Save wxWidgets build
uses: actions/upload-artifact@v4
with:
name: wxWidgets-windows
path: |
wx-3.2.3
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '3.24.x'
- name: Build LK
run: |
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES="Release" -DCMAKE_SYSTEM_VERSION=10.0 ..
MSBuild.exe .\lk.sln /t:Build /p:Configuration=Release
- name: Save static lib & lksandbox
uses: actions/upload-artifact@v4
with:
name: LK-windows
path: |
build/Release/lk_sandbox*
build/Release/lk*.a
build-on-mac:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-14-large, macos-latest]
steps:
- name: Set relative paths
run: |
WXMSW3=$HOME/wx-3.2.3
echo "WXMSW3=$WXMSW3" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
- name: Install wxWidgets
run: |
curl -L https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.3/wxWidgets-3.2.3.tar.bz2 -o wxWidgets-3.2.3.tar.bz2
tar jxf wxWidgets-3.2.3.tar.bz2
cd wxWidgets-3.2.3
./configure --prefix=$HOME/wx-3.2.3 --enable-stl=yes --enable-shared=no --disable-debug_flag --with-cocoa --enable-universal_binary=x86_64,arm64 --enable-unicode --enable-webview --disable-mediactrl --with-cxx=11 --with-macosx-version-min=10.15 --with-libjpeg=builtin --with-libpng=builtin --with-regex=builtin --with-libtiff=builtin --with-zlib=builtin --with-expat=builtin
make -j3
make install
sudo ln -s $HOME/wx-3.2.3/bin/wx-config /usr/local/bin/wx-config-3
wx-config-3 --cflags
echo ${HOME}/wx-3.2.3/bin >> $GITHUB_PATH
- name: Save wxWidgets build
uses: actions/upload-artifact@v4
with:
name: wxWidgets-${{ matrix.os }}
path: |
${{ env.WXMSW3 }}
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '3.24.x'
- name: Build LK
run: |
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build -- -j3
- name: Save static lib & lksandbox
uses: actions/upload-artifact@v4
with:
name: LK-${{ matrix.os }}
path: |
build/lk_sandbox*
build/lk*.a