name: "Build OpenVulkano" on: push: branches: [ "master" ] pull_request: branches: [ "master" ] env: BUILD_TYPE: Release jobs: build: name: Build desktop runs-on: ${{matrix.config.os}} strategy: fail-fast: false matrix: config: - { name: "Windows", os: windows_x64, generator: '' } - { name: "Linux", os: ubuntu-latest, generator: '-G ninja' } # - { # name: "macOS", # os: macos-latest, # generator: '-G "xcode"' # } steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true - name: Install Vulkan SDK if: matrix.config.os == 'ubuntu-latest' uses: humbletim/install-vulkan-sdk@v1.1.1 with: version: 1.3.250.1 cache: true - name: Install Dev Packages if: matrix.config.os == 'ubuntu-latest' run: > sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build glslang-tools glslang-dev unzip && sudo wget https://sourceforge.net/projects/bin2c/files/1.1/bin2c-1.1.zip && sudo unzip bin2c-1.1.zip && cd bin2c && sudo gcc -o bin2c bin2c.c && sudo mv bin2c /usr/bin - name: Configure CMake run: cmake ${{matrix.config.generator}} -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPENDENCY_MIRROR_FILE="${{github.workspace}}/.gitea/workflows/DependencyMirrors.txt" - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - name: Test working-directory: ${{github.workspace}}/build run: ctest -C ${{env.BUILD_TYPE}} #TODO archive executables