Release v0.87.42 updater repair #220
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: CMake Build | |
| on: | |
| push: | |
| branches: ["main"] | |
| pull_request: | |
| branches: ["main"] | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| build: | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: windows-msvc | |
| os: windows-2022 | |
| shell: pwsh | |
| configure_command: > | |
| python -m cmake -S "$env:GITHUB_WORKSPACE" -B "$env:GITHUB_WORKSPACE/build/ci" | |
| -G "Visual Studio 17 2022" | |
| -A x64 | |
| -DEPOCH_CI_HEADLESS_ONLY=ON | |
| build_command: > | |
| python -m cmake --build "$env:GITHUB_WORKSPACE/build/ci" | |
| --config Release | |
| --target epoch_ci_headless | |
| test_command: > | |
| python -m cmake -E chdir "$env:GITHUB_WORKSPACE/build/ci" | |
| ctest -C Release --output-on-failure | |
| - name: windows-msvc-cpp26 | |
| os: windows-2022 | |
| shell: pwsh | |
| configure_command: > | |
| python -m cmake -S "$env:GITHUB_WORKSPACE" -B "$env:GITHUB_WORKSPACE/build/ci" | |
| -G "Visual Studio 17 2022" | |
| -A x64 | |
| -DEPOCH_CI_HEADLESS_ONLY=ON | |
| -DEPOCH_ENABLE_CPP26_LANE=ON | |
| build_command: > | |
| python -m cmake --build "$env:GITHUB_WORKSPACE/build/ci" | |
| --config Release | |
| --target epoch_ci_headless | |
| test_command: | | |
| python -m cmake -E chdir "$env:GITHUB_WORKSPACE/build/ci" ctest -C Release --output-on-failure | |
| - name: linux-gcc | |
| os: ubuntu-latest | |
| shell: bash | |
| configure_command: > | |
| python -m cmake -S "$GITHUB_WORKSPACE" -B "$GITHUB_WORKSPACE/build/ci" | |
| -G Ninja | |
| -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DEPOCH_CI_HEADLESS_ONLY=ON | |
| build_command: > | |
| python -m cmake --build "$GITHUB_WORKSPACE/build/ci" | |
| --target epoch_ci_headless | |
| test_command: > | |
| python -m cmake -E chdir "$GITHUB_WORKSPACE/build/ci" | |
| ctest --output-on-failure | |
| - name: linux-clang | |
| os: ubuntu-latest | |
| shell: bash | |
| configure_command: > | |
| python -m cmake -S "$GITHUB_WORKSPACE" -B "$GITHUB_WORKSPACE/build/ci" | |
| -G Ninja | |
| -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DEPOCH_CI_HEADLESS_ONLY=ON | |
| build_command: > | |
| python -m cmake --build "$GITHUB_WORKSPACE/build/ci" | |
| --target epoch_ci_headless | |
| test_command: > | |
| python -m cmake -E chdir "$GITHUB_WORKSPACE/build/ci" | |
| ctest --output-on-failure | |
| - name: linux-clang-engine | |
| os: ubuntu-latest | |
| shell: bash | |
| install_linux_render_deps: true | |
| configure_command: > | |
| python -m cmake -S "$GITHUB_WORKSPACE" -B "$GITHUB_WORKSPACE/build/linux-clang-engine" | |
| -G Ninja | |
| -DCMAKE_C_COMPILER=clang-18 | |
| -DCMAKE_CXX_COMPILER=clang++-18 | |
| -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=clang-scan-deps-18 | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DEPOCH_ENABLE_RAYLIB=OFF | |
| -DEPOCH_ENABLE_SDL=OFF | |
| -DEPOCH_ENABLE_SFML=ON | |
| -DEPOCH_ENABLE_VULKAN=OFF | |
| -DEPOCH_ENABLE_OPENGL=ON | |
| -DEPOCH_ENABLE_SOFTWARE_RENDERER=ON | |
| build_command: > | |
| python -m cmake --build "$GITHUB_WORKSPACE/build/linux-clang-engine" | |
| --parallel 2 | |
| test_command: > | |
| python -m cmake -E chdir "$GITHUB_WORKSPACE/build/linux-clang-engine" | |
| ctest --output-on-failure | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| - name: Install modern CMake and Ninja | |
| run: python -m pip install cmake==3.30.5 ninja | |
| - name: Export Python tool shims on PATH (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| $pythonDir = Split-Path (Get-Command python).Source -Parent | |
| $scriptsDir = Join-Path $pythonDir 'Scripts' | |
| Add-Content -Path $env:GITHUB_PATH -Value $pythonDir | |
| if (Test-Path $scriptsDir) { | |
| Add-Content -Path $env:GITHUB_PATH -Value $scriptsDir | |
| } | |
| - name: Export Python tool shims on PATH (Linux) | |
| if: runner.os != 'Windows' | |
| shell: bash | |
| run: | | |
| python_dir="$(dirname "$(command -v python)")" | |
| echo "$python_dir" >> "$GITHUB_PATH" | |
| - name: Report tool versions | |
| run: | | |
| python --version | |
| python -m pip --version | |
| cmake --version | |
| ninja --version | |
| - name: Install Linux rendering build dependencies | |
| if: runner.os == 'Linux' && matrix.install_linux_render_deps == true | |
| shell: bash | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| clang-18 \ | |
| clang-tools-18 \ | |
| libasio-dev \ | |
| libcurl4-openssl-dev \ | |
| libgl1-mesa-dev \ | |
| libsfml-dev \ | |
| libx11-dev \ | |
| libxi-dev \ | |
| libxrandr-dev \ | |
| libxrender-dev | |
| - name: Configure (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: ${{ matrix.configure_command }} | |
| - name: Configure (Linux) | |
| if: runner.os != 'Windows' | |
| shell: bash | |
| run: ${{ matrix.configure_command }} | |
| - name: Build (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: ${{ matrix.build_command }} | |
| - name: Build (Linux) | |
| if: runner.os != 'Windows' | |
| shell: bash | |
| run: ${{ matrix.build_command }} | |
| - name: Test (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: ${{ matrix.test_command }} | |
| - name: Test (Linux) | |
| if: runner.os != 'Windows' | |
| shell: bash | |
| run: ${{ matrix.test_command }} |