Skip to content

Update documentation #67

Update documentation

Update documentation #67

Workflow file for this run

name: Build and Test
on: [push]
env:
VCPKG_OVERLAY_TRIPLETS: cmake/triplets
VCPKG_OVERLAY_PORTS: cmake/ports
AWS_ACCESS_KEY_ID: ${{secrets.GHBIN_ACCESS_KEY}}
AWS_SECRET_ACCESS_KEY: ${{secrets.GHBIN_SECRET_KEY}}
AWS_DEFAULT_REGION: fra1
AWS_ENDPOINT_URL: https://fra1.digitaloceanspaces.com
AWS_ENDPOINT_URL_S3: https://fra1.digitaloceanspaces.com
VCPKG_FEATURE_FLAGS: binarycaching
VCPKG_BINARY_SOURCES: "clear;x-aws,s3://gh-bin/bincache/,readwrite"
jobs:
ubuntu-deps:
strategy:
matrix:
triplet: ["x64-linux"]
runs-on: ubuntu-latest
env:
VCPKG_DEFAULT_TRIPLET: ${{matrix.triplet}}
VCPKG_DEFAULT_HOST_TRIPLET: ${{matrix.triplet}}
steps:
- name: Install prerequisites
run: |
sudo apt-get update && sudo apt-get install -y ninja-build mesa-vulkan-drivers vulkan-tools wget xorg-dev libgl-dev libgl1-mesa-dev libvulkan-dev autoconf autoconf-archive libxrandr-dev libxinerama-dev libxcursor-dev mesa-common-dev libx11-xcb-dev
- name: Checkout
uses: actions/checkout@v4
- name: Vcpkg
shell: bash
run: |
cmake -P upload-deps.cmake
windows-deps:
strategy:
matrix:
triplet: ["x64-windows-static-md", "x86-windows-static-md"]
runs-on: windows-latest
env:
VCPKG_DEFAULT_TRIPLET: ${{matrix.triplet}}
VCPKG_DEFAULT_HOST_TRIPLET: ${{matrix.triplet}}
LLVM_DIR: "C:/Program Files/LLVM"
steps:
- name: Install prerequisites
run: |
choco install llvm --no-progress -y
- name: Checkout
uses: actions/checkout@v4
- name: Vcpkg
run: |
cmake -P upload-deps.cmake
macos-deps:
strategy:
matrix:
include:
- triplet: "x64-osx"
image: macos-13
- triplet: "arm64-osx"
image: macos-latest
runs-on: ${{matrix.image}}
env:
VCPKG_DEFAULT_TRIPLET: ${{matrix.triplet}}
VCPKG_DEFAULT_HOST_TRIPLET: ${{matrix.triplet}}
VCPKG_ROOT: "$HOME/vcpkg"
steps:
- name: Install prerequisites
run: |
brew install ninja autoconf automake autoconf-archive
git clone /~https://github.com/microsoft/vcpkg "$HOME/vcpkg"
$HOME/vcpkg/bootstrap-vcpkg.sh -disableMetrics
echo "$HOME/vcpkg" >> "$GITHUB_PATH"
- name: Checkout
uses: actions/checkout@v4
- name: Vcpkg
run: |
cmake -P upload-deps.cmake
ubuntu-ninja-clang-x86_64:
runs-on: ubuntu-latest
needs: ubuntu-deps
env:
VCPKG_DEFAULT_TRIPLET: x64-linux
VCPKG_DEFAULT_HOST_TRIPLET: x64-linux
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install prerequisites
run: |
sudo apt-get update && sudo apt-get install -y ninja-build mesa-vulkan-drivers vulkan-tools wget xorg-dev libgl-dev libgl1-mesa-dev libvulkan-dev autoconf autoconf-archive libxrandr-dev libxinerama-dev libxcursor-dev mesa-common-dev libx11-xcb-dev
wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 19
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
run: |
cmake -GNinja -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake -DBRISK_LOG_TO_STDERR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=clang++-19 -DCMAKE_C_COMPILER=clang-19
- name: Build
run: |
cmake --build build --target install
- name: Test
run: |
WGPU_LONG_TIMEOUT=1 ctest --test-dir build --output-on-failure -E "window_autotests"
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist
ubuntu-make-gcc-x86_64:
runs-on: ubuntu-24.04
needs: ubuntu-deps
env:
VCPKG_DEFAULT_TRIPLET: x64-linux
VCPKG_DEFAULT_HOST_TRIPLET: x64-linux
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install prerequisites
run: |
sudo apt-get update && sudo apt-get install -y gcc-14 g++-14 ninja-build mesa-vulkan-drivers vulkan-tools wget xorg-dev libgl-dev libgl1-mesa-dev libvulkan-dev autoconf autoconf-archive libxrandr-dev libxinerama-dev libxcursor-dev mesa-common-dev libx11-xcb-dev
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
run: |
cmake -G"Unix Makefiles" -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake -DBRISK_LOG_TO_STDERR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=g++-14 -DCMAKE_C_COMPILER=gcc-14
- name: Build
run: |
cmake --build build --target install
- name: Test
run: |
WGPU_LONG_TIMEOUT=1 ctest --test-dir build --output-on-failure -E "window_autotests"
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist
windows-ninja-clang-x86-64:
runs-on: windows-latest
needs: windows-deps
env:
VCPKG_DEFAULT_TRIPLET: x64-windows-static-md
VCPKG_DEFAULT_HOST_TRIPLET: x64-windows-static-md
LLVM_DIR: C:/Program Files/LLVM
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install prerequisites
run: |
choco install ninja --no-progress -y
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
cmake -GNinja -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DVCPKG_TARGET_TRIPLET=%VCPKG_DEFAULT_TRIPLET% -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%/scripts/buildsystems/vcpkg.cmake -DBRISK_WEBGPU=ON -DBRISK_LOG_TO_STDERR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe"
- name: Build
run: |
cmake --build build --target install
- name: Test
run: |
ctest --test-dir build --output-on-failure
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist
windows-vs-x86:
runs-on: windows-latest
needs: windows-deps
env:
VCPKG_DEFAULT_TRIPLET: x86-windows-static-md
VCPKG_DEFAULT_HOST_TRIPLET: x86-windows-static-md
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
shell: cmd
run: |
cmake -G"Visual Studio 17 2022" -A Win32 -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DVCPKG_TARGET_TRIPLET=%VCPKG_DEFAULT_TRIPLET% -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%/scripts/buildsystems/vcpkg.cmake -DBRISK_WEBGPU=ON -DBRISK_LOG_TO_STDERR=ON
- name: Build
run: |
cmake --build build --config RelWithDebInfo --target install
- name: Test
run: |
ctest --test-dir build --build-config RelWithDebInfo --output-on-failure
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist
windows-vs-clangcl-x86_64:
runs-on: windows-latest
needs: windows-deps
env:
VCPKG_DEFAULT_TRIPLET: x64-windows-static-md
VCPKG_DEFAULT_HOST_TRIPLET: x64-windows-static-md
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
shell: cmd
run: |
cmake -G"Visual Studio 17 2022" -A x64 -T ClangCL -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DVCPKG_TARGET_TRIPLET=%VCPKG_DEFAULT_TRIPLET% -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%/scripts/buildsystems/vcpkg.cmake -DBRISK_WEBGPU=ON -DBRISK_LOG_TO_STDERR=ON
- name: Build
run: |
cmake --build build --config RelWithDebInfo --target install
- name: Test
run: |
ctest --test-dir build --build-config RelWithDebInfo --output-on-failure
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist
macos-ninja-clang-arm64:
runs-on: macos-latest
needs: macos-deps
env:
VCPKG_DEFAULT_TRIPLET: arm64-osx
VCPKG_DEFAULT_HOST_TRIPLET: arm64-osx
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install prerequisites
run: |
brew install ninja autoconf automake autoconf-archive
git clone /~https://github.com/microsoft/vcpkg "$HOME/vcpkg"
$HOME/vcpkg/bootstrap-vcpkg.sh -disableMetrics
echo "VCPKG_INSTALLATION_ROOT=$HOME/vcpkg" >> $GITHUB_ENV
echo "$HOME/vcpkg" >> "$GITHUB_PATH"
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
run: |
cmake -GNinja -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DCMAKE_OSX_ARCHITECTURES=arm64 -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake -DBRISK_LOG_TO_STDERR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
- name: Build
run: |
cmake --build build --target install
- name: Test
run: |
ctest --test-dir build --output-on-failure
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist
macos-ninja-clang-x86_64:
runs-on: macos-13
needs: macos-deps
env:
VCPKG_DEFAULT_TRIPLET: x64-osx
VCPKG_DEFAULT_HOST_TRIPLET: x64-osx
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install prerequisites
run: |
brew install ninja autoconf automake autoconf-archive
env
- name: Acquire dependencies
run: |
cmake -DDEP_BUILD=OFF -P acquire-deps.cmake
- name: Configure
run: |
cmake -GNinja -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DVCPKG_MANIFEST_MODE=OFF -DCMAKE_OSX_ARCHITECTURES=x86_64 -DVCPKG_INSTALLED_DIR=vcpkg_installed -DCMAKE_TOOLCHAIN_FILE=$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake -DBRISK_LOG_TO_STDERR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
- name: Build
run: |
cmake --build build --target install
- name: Test
run: |
ctest --test-dir build --output-on-failure
- name: Binaries
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist