Skip to content

docs: document wyrelogd config keyfile and wyctl boundary #218

docs: document wyrelogd config keyfile and wyctl boundary

docs: document wyrelogd config keyfile and wyctl boundary #218

Workflow file for this run

# SPDX-License-Identifier: GPL-3.0-or-later
name: CI PR
on:
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
build-posix:
name: build-${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
tpm: enabled
- os: macos-latest
tpm: disabled
steps:
- name: Check out source
uses: actions/checkout@v5
- name: Install build dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
meson ninja-build pkg-config \
libglib2.0-dev libsqlite3-dev libsoup-3.0-dev libsodium-dev \
libtss2-dev
- name: Install build dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew update
brew install meson ninja pkg-config glib sqlite libsoup libsodium
- name: Restore meson packagecache
uses: actions/cache/restore@v5
with:
path: subprojects/packagecache
key: ${{ runner.os }}-packagecache-${{ hashFiles('subprojects/*.wrap') }}
restore-keys: |
${{ runner.os }}-packagecache-
- name: Configure
run: |
meson setup builddir \
-Denable_tpm=${{ matrix.tpm }} \
-Denable_audit=enabled \
-Dduckdb_source=prebuilt
- name: Build and test
run: meson test -C builddir --print-errorlogs --suite wyrelog
- name: Upload meson logs on failure
if: failure()
uses: actions/upload-artifact@v6
with:
name: meson-logs-${{ matrix.os }}
path: builddir/meson-logs/
if-no-files-found: ignore
build-windows:
name: build-windows
runs-on: windows-latest
env:
VCPKG_ROOT: ${{ github.workspace }}\vcpkg
VCPKG_INSTALLED_DIR: ${{ github.workspace }}\vcpkg\installed\x64-windows
VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}\vcpkg-binary-cache
VCPKG_BINARY_SOURCES: "clear;files,${{ github.workspace }}\\vcpkg-binary-cache,readwrite"
steps:
- name: Check out source
uses: actions/checkout@v5
- name: Remove system vcpkg
shell: bash
run: rm -rf "$VCPKG_INSTALLATION_ROOT"
- name: Bootstrap vendored vcpkg
shell: cmd
run: |
@echo off
git clone --depth 1 --branch 2026.04.27 https://github.com/microsoft/vcpkg.git "%VCPKG_ROOT%"
call "%VCPKG_ROOT%\bootstrap-vcpkg.bat" -disableMetrics
- name: Restore vcpkg binary packages
id: vcpkg-cache
uses: actions/cache/restore@v5
with:
path: ${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
key: vcpkg-windows-v4-2026.04.27-x64-windows-glib-sqlite3-libsodium-libsoup
restore-keys: |
vcpkg-windows-v3-2026.04.27-x64-windows-
vcpkg-windows-2026.04.27-glib-sqlite3-libsodium-libsoup
- name: Restore vcpkg installed tree
id: vcpkg-installed-cache
continue-on-error: true
uses: actions/cache/restore@v5
with:
path: ${{ env.VCPKG_ROOT }}\installed
key: vcpkg-windows-installed-v2-2026.04.27-x64-windows-glib-sqlite3-libsodium-libsoup
restore-keys: |
vcpkg-windows-installed-v1-2026.04.27-x64-windows-
- name: Clear failed vcpkg installed restore
if: steps.vcpkg-installed-cache.outcome == 'failure'
shell: bash
run: rm -rf "$VCPKG_ROOT/installed"
- name: Create vcpkg binary cache
shell: cmd
run: if not exist "%VCPKG_DEFAULT_BINARY_CACHE%" mkdir "%VCPKG_DEFAULT_BINARY_CACHE%"
- name: Install meson and ninja
shell: cmd
run: pip install meson ninja
- name: Install pkg-config (chocolatey)
shell: cmd
run: choco install pkgconfiglite -y --allow-empty-checksums
- name: Install C dependencies (vcpkg)
shell: cmd
run: |
@echo off
"%VCPKG_ROOT%\vcpkg.exe" install glib:x64-windows sqlite3:x64-windows libsodium:x64-windows libsoup:x64-windows --x-abi-tools-use-exact-versions
- name: Save vcpkg binary packages
if: steps.vcpkg-cache.outputs.cache-hit != 'true'
continue-on-error: true
uses: actions/cache/save@v5
with:
path: ${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
key: ${{ steps.vcpkg-cache.outputs.cache-primary-key }}
- name: Save vcpkg installed tree
if: steps.vcpkg-installed-cache.outcome == 'success' && steps.vcpkg-installed-cache.outputs.cache-hit != 'true'
continue-on-error: true
uses: actions/cache/save@v5
with:
path: ${{ env.VCPKG_ROOT }}\installed
key: ${{ steps.vcpkg-installed-cache.outputs.cache-primary-key }}
- name: Restore meson packagecache
id: meson-packagecache
uses: actions/cache/restore@v5
with:
path: subprojects/packagecache
key: windows-packagecache-${{ hashFiles('subprojects/*.wrap') }}
restore-keys: |
windows-packagecache-
- name: Configure (clang-cl)
shell: cmd
run: |
@echo off
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set PKG_CONFIG_PATH=%VCPKG_INSTALLED_DIR%\lib\pkgconfig
set PATH=%VCPKG_INSTALLED_DIR%\bin;%PATH%
set CC=clang-cl
meson setup builddir -Denable_tpm=disabled -Denable_client=enabled -Ddefault_library=static -Denable_audit=enabled -Dduckdb_source=prebuilt
- name: Save meson packagecache
if: steps.meson-packagecache.outputs.cache-hit != 'true'
continue-on-error: true
uses: actions/cache/save@v5
with:
path: subprojects/packagecache
key: ${{ steps.meson-packagecache.outputs.cache-primary-key }}
- name: Build and test (clang-cl)
shell: cmd
run: |
@echo off
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set PATH=%VCPKG_INSTALLED_DIR%\bin;%PATH%
meson compile -C builddir wyctl wyrelogd
if not exist builddir\wyrelog\wyctl.exe exit /b 1
builddir\wyrelog\wyctl.exe --help >NUL
builddir\wyrelog\wyrelogd.exe --help | findstr /C:"--listen-port"
meson test -C builddir --print-errorlogs --suite wyrelog
- name: Upload meson logs on failure
if: failure()
uses: actions/upload-artifact@v6
with:
name: meson-logs-windows
path: builddir/meson-logs/
if-no-files-found: ignore