Ci Runners for Windows & Mac #183
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: Get GCC version | |
run: gcc --version | |
- name: Get libc version | |
run: ldd --version | |
- 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=$GITHUB_WORKSPACE/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 | |
make install | |
sudo ln -s $GITHUB_WORKSPACE/wx-3.2.3/bin/wx-config /usr/local/bin/wx-config-3 | |
wx-config-3 --cflags | |
echo ${GITHUB_WORKSPACE}/wx-3.2.3/bin >> $GITHUB_PATH | |
- name: Make wxWidgets archive | |
run: | | |
7z a wx3.2.3.7z wx-3.2.3 | |
- name: Save wxWidgets build | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wxWidgets-${{ env.RUNS_ON }} | |
path: | | |
wx3.2.3.7z | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build LK | |
run: | | |
cmake -Bbuild_linux -DCMAKE_BUILD_TYPE=Debug | |
cmake --build build_linux -- -j | |
- name: Save static lib & lksandbox | |
uses: actions/upload-artifact@v2 | |
with: | |
name: LK-${{ env.RUNS_ON }}-x86_64 | |
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: Checkout | |
uses: actions/checkout@v2 | |
- 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 | |
- name: Make wxWidgets archive | |
shell: bash | |
run: | | |
mkdir wx-3.2.3 | |
cp -r wxWidgets-3.2.3/bin wx-3.2.3 | |
cp -r wxWidgets-3.2.3/include wx-3.2.3 | |
cp -r wxWidgets-3.2.3/lib wx-3.2.3 | |
cp -r wxWidgets-3.2.3/share wx-3.2.3 | |
7z a wx3.2.3.7z wx-3.2.3 | |
- name: Save wxWidgets build | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wxWidgets-${{ env.RUNS_ON }} | |
path: | | |
wx3.2.3.7z | |
- 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@v2 | |
with: | |
name: LK-${{ env.RUNS_ON }}-x86_64 | |
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: 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=$GITHUB_WORKSPACE/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 | |
make install | |
sudo ln -s $GITHUB_WORKSPACE/wx-3.2.3/bin/wx-config /usr/local/bin/wx-config-3 | |
wx-config-3 --cflags | |
echo ${GITHUB_WORKSPACE}/wx-3.2.3/bin >> $GITHUB_PATH | |
- name: Make wxWidgets archive | |
run: | | |
7z a wx3.2.3.7z wx-3.2.3 | |
- name: Save wxWidgets build | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wxWidgets-${{ env.RUNS_ON }} | |
path: | | |
wx3.2.3.7z | |
- name: Setup cmake | |
uses: jwlawson/actions-setup-cmake@v2 | |
with: | |
cmake-version: '3.24.x' | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build LK | |
run: | | |
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release | |
cmake --build build -- -j | |
- name: Save static lib & lksandbox | |
uses: actions/upload-artifact@v2 | |
with: | |
name: LK-${{ env.RUNS_ON }}-x86_64 | |
path: | | |
build/lk_sandbox* | |
build/lk*.a | |
- name: Save wxWidgets build | |
uses: actions/upload-artifact@v2 | |
with: | |
name: LK-${{ env.RUNS_ON }}-x86_64 | |
path: | | |
build/lk_sandbox* | |
build/lk*.a | |