CI: install git for the debian docker container #122
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 zlib | |
| - name: Build | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -GXcode -DTOOLS=OFF -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: caveexpress | |
| path: "build/caveexpress dev.dmg" | |
| linux: | |
| runs-on: ubuntu-22.04 | |
| container: debian:experimental | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup | |
| run: | | |
| apt-get update | |
| apt-get install -y git cmake build-essential libsqlite3-dev liblua5.4-dev zlib1g-dev pkg-config ninja-build | |
| - 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 | |
| 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 -DTOOLS=OFF -DUNITTESTS=OFF | |
| cmake --build . | |
| cmake --install . --component caveexpress --prefix install-caveexpress | |
| cmake --install . --component cavepacker --prefix install-cavepacker | |
| - name: Upload the cavepacker artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cavepacker | |
| path: build/cavepacker-install | |
| - name: Upload the caveexpress artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: caveexpress | |
| path: build/caveexpress-install | |
| android: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: seanmiddleditch/gha-setup-ninja@master | |
| - uses: nttld/setup-ndk@v1 | |
| id: setup-ndk | |
| with: | |
| local-cache: true | |
| ndk-version: r21e | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: 'Configure Android NDK variables' | |
| shell: sh | |
| run: | | |
| # We cannot use GitHub expressions in the controller job | |
| echo "ANDROID_NDK_HOME=${{ steps.setup-ndk.outputs.ndk-path }}" >>$GITHUB_ENV | |
| - name: Setup Android SDK | |
| uses: android-actions/setup-android@v3 | |
| - name: Build | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake --version | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DTOOLS=OFF -DUNITTESTS=OFF -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/cmake/toolchains/android-toolchain.cmake | |
| cmake --build . |