CI: print test output on error #376
This file contains hidden or 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, pull_request] | |
jobs: | |
mac: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup | |
run: | | |
brew install lua sqlite | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake .. -GXcode -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(pwd) -DCAVEPACKER=OFF -DUNITTESTS=OFF | |
xcodebuild build -target install -project caveproductions.xcodeproj CODE_SIGNING_REQUIRED=NO -configuration Release | |
../contrib/scripts/create_dmg.sh caveexpress dev $(pwd)/.. $(pwd) | |
- name: Upload the caveexpress artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mac-caveexpress | |
path: "build/caveexpress dev.dmg" | |
linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev \ | |
libyajl-dev libglm-dev libsdl2-image-dev libsqlite3-dev liblua5.4-dev zlib1g-dev \ | |
pkg-config ninja-build libbox2d-dev=2.4* | |
- name: Linux | |
run: | | |
cmake -GNinja -H. -Bbuild -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
cmake --install build --component caveexpress --prefix install-caveexpress | |
cmake --install build --component cavepacker --prefix install-cavepacker | |
- name: Test | |
run: | | |
cd build | |
ctest --output-on-failure --timeout 60 | |
continue-on-error: true | |
windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake --version | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DUNITTESTS=OFF | |
cmake --build . | |
cmake --install . --component caveexpress --prefix install-caveexpress | |
cmake --install . --component cavepacker --prefix install-cavepacker | |
- name: Create caveexpress installer | |
uses: joncloud/[email protected] | |
with: | |
script-file : "build/src/caveexpress/main/setup.nsi" | |
- name: Create cavepacker installer | |
uses: joncloud/[email protected] | |
with: | |
script-file : "build/src/cavepacker/main/setup.nsi" | |
- name: Upload the caveexpress installer | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win-caveexpress-installer | |
path: build/src/caveexpress/main/caveexpress*.exe | |
- name: Upload the cavepacker installer | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win-cavepacker-installer | |
path: build/src/cavepacker/main/cavepacker*.exe | |
- name: Upload the cavepacker artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win-cavepacker | |
path: build/install-cavepacker | |
- name: Upload the caveexpress artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win-caveexpress | |
path: build/install-caveexpress | |
emscripten: | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev \ | |
libyajl-dev libglm-dev libsdl2-image-dev libsqlite3-dev liblua5.4-dev zlib1g-dev \ | |
pkg-config ninja-build libbox2d-dev=2.4* | |
- uses: mymindstorm/setup-emsdk@v13 | |
with: | |
version: 4.0.5 | |
no-cache: true | |
- name: Emscripten | |
run: | | |
cmake -H. -Bbuild-data -GNinja | |
cmake --build build-data | |
emcmake cmake -H. -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Release -DUNITTESTS=OFF -DTOOLS=OFF | |
cmake --build build --target caveexpress | |
cmake --build build --target cavepacker | |
- name: Deploy to branch deploy | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
git config --global user.name "github-actions[bot]" | |
git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git | |
git fetch | |
mkdir wasm | |
mv cavepacker.* wasm | |
mv caveexpress.* wasm | |
git checkout -f | |
git checkout origin/deploy | |
mv wasm/* . | |
git status | |
git commit -a --amend -m "wasm deploy" | |
git push origin HEAD:deploy --force |