Skip to content

πŸ—οΈ Build Bindings #95

πŸ—οΈ Build Bindings

πŸ—οΈ Build Bindings #95

Workflow file for this run

on:
push:
workflow_dispatch:
inputs:
ref:
type: string
default: master
description: The ref of saucer to use
cmake:
type: string
default: -Dsaucer_bindings_static=ON -Dsaucer_bindings_modules="desktop;loop" -Dsaucer_bindings_inline_modules="desktop;loop"
description: Additional CMake Arguments to pass
name: πŸ—οΈ Build Bindings
jobs:
build:
strategy:
fail-fast: false
matrix:
backend: [WebKit, WebKit-Universal, WebKitGtk, WebView2, WebView2-Hack, Qt]
config: [Debug, Release, RelWithDebInfo, MinSizeRel]
include:
- backend: WebView2
platform: Windows
os: windows-latest
cmake-args: -Dglaze_DISABLE_SIMD_WHEN_SUPPORTED=ON
- backend: WebView2-Hack
backend-override: WebView2
platform: Windows
os: windows-latest
cmake-args: -Dsaucer_msvc_hack=ON -Dglaze_DISABLE_SIMD_WHEN_SUPPORTED=ON
- backend: Qt
platform: Linux
os: ubuntu-latest
container: archlinux:base-devel
cmake-args: -Dglaze_DISABLE_SIMD_WHEN_SUPPORTED=ON
- backend: WebKitGtk
platform: Linux
os: ubuntu-latest
container: archlinux:base-devel
cmake-args: -Dglaze_DISABLE_SIMD_WHEN_SUPPORTED=ON
- backend: WebKit
platform: MacOS
os: macos-latest
- backend: WebKit-Universal
backend-override: WebKit
platform: MacOS
os: macos-latest
cmake-args: -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
name: "${{ matrix.config}}: ${{ matrix.backend }}"
steps:
- name: πŸ“₯ Checkout
uses: actions/checkout@v4
- name: πŸ“₯ Checkout Saucer
uses: actions/checkout@v4
with:
repository: "saucer/saucer"
sparse-checkout: ".github"
path: "actions"
ref: ${{ github.event.inputs.ref || 'master' }}
- name: πŸ›Έ Setup Saucer
uses: ./actions/.github/actions/setup
with:
backend: ${{ matrix.backend-override || matrix.backend }}
platform: ${{ matrix.platform }}
build-type: ${{ matrix.config }}
cmake-args: -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="$(pwd)/bin" -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="$(pwd)/bin" ${{ matrix.cmake-args }} ${{ github.event.inputs.cmake }}
- name: πŸ“¦ Upload Artifact
uses: actions/upload-artifact@v4
with:
name: "${{ matrix.config }}-${{ matrix.backend }}"
path: bin