LINUX: added 0.0.25 #2173
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: Build | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- '*' | |
pull_request: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
mac: | |
timeout-minutes: 60 | |
runs-on: macos-11 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: brew install sdl2 python glslang ninja ccache pkg-config | |
- name: ccache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.ccache | |
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} | |
restore-keys: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=On | |
cmake --build . | |
- name: Test | |
run: | | |
cd build | |
ctest -V -E shelltests . | |
- name: Package | |
run: | | |
cd build | |
cmake --build . --target package | |
- name: Upload the build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dmg | |
path: build/*.dmg | |
packages: | |
timeout-minutes: 45 | |
if: github.repository == 'mgerhardy/vengi' | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install cmake debhelper devscripts build-essential lintian binutils-dev libunwind-dev libfreetype-dev liblua5.4-dev libsdl2-dev wayland-protocols pkg-config python3 ccache python3-dateutil dh-cmake ninja-build | |
- name: ccache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.ccache | |
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} | |
restore-keys: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} | |
- name: Ubuntu | |
run: | | |
contrib/installer/linux/changelog.py docs/CHANGELOG.md > debian/changelog | |
debuild -b -ui -uc -us | |
mv ../*.deb . | |
- name: Upload the ubuntu artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: debian | |
path: vengi*.deb | |
- name: Upload the ubuntu release artifacts | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: Roang-zero1/github-upload-release-artifacts-action@master | |
with: | |
args: vengi*.deb | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
linux: | |
timeout-minutes: 60 | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install appstream libfuse2 binutils-dev libunwind-dev libfreetype-dev liblua5.4-dev libsdl2-dev wayland-protocols pkg-config ninja-build python3 ccache curl | |
- name: ccache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.ccache | |
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} | |
restore-keys: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-build-${{ hashFiles('**/CMakeLists.txt') }} | |
- name: Linux | |
run: | | |
mkdir build | |
cd build | |
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=On | |
cmake --build . | |
cmake --install . --component voxedit --prefix install-voxedit/usr | |
- name: Test | |
run: | | |
cd build | |
ctest -V . | |
- name: AppImage | |
run: | | |
curl https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20220822-1/linuxdeploy-x86_64.AppImage --output linuxdeploy-x86_64.AppImage --silent -L -f | |
chmod +x linuxdeploy-x86_64.AppImage | |
./linuxdeploy-x86_64.AppImage --output=appimage --appdir build/install-voxedit | |
- name: Upload the AppImage artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: appimage | |
path: voxedit*.AppImage | |
emscripten: | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install libfreetype-dev liblua5.4-dev libsdl2-dev wayland-protocols pkg-config ninja-build python3 ccache | |
- uses: mymindstorm/setup-emsdk@v12 | |
with: | |
version: 3.1.40 | |
- name: ccache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.ccache | |
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-emscripten-build-${{ hashFiles('**/CMakeLists.txt') }} | |
restore-keys: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-emscripten-build-${{ hashFiles('**/CMakeLists.txt') }} | |
- name: Emscripten | |
run: | | |
cmake -H. -Bbuild -GNinja | |
cmake --build build --target codegen | |
mkdir -p build/emscripten | |
cp -r build/generated build/emscripten | |
emcmake cmake -H. -Bbuild/emscripten -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=On | |
cmake --build build/emscripten --target voxedit | |
- name: Upload the build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: emscripten | |
path: build/emscripten/voxedit | |
windows: | |
timeout-minutes: 45 | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . | |
- name: Test | |
run: | | |
cd build | |
ctest -V -C Release . | |
- name: Install | |
run: | | |
cd build | |
cmake --install . --component voxedit --prefix voxedit-install | |
cmake --install . --component voxconvert --prefix voxconvert-install | |
cpack | |
- name: Upload the voxedit artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: voxedit | |
path: build/voxedit-install/ | |
- name: Upload the voxconvert artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: voxconvert | |
path: build/voxconvert-install/ | |
- name: Upload the nsis installer artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows-installer | |
path: build/vengi-*-Windows.exe |