fix(build): rename duplicate bench_mod in build.zig; wire SOPS at-rest #108
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
| # SPDX-License-Identifier: MPL-2.0 | |
| # Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> | |
| # | |
| # BoJ Server — Zig FFI test & build pipeline | |
| name: Zig FFI Tests | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'ffi/**' | |
| - 'cartridges/**/ffi/**' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - 'ffi/**' | |
| - 'cartridges/**/ffi/**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Zig FFI Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install Zig | |
| uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2 | |
| with: | |
| version: 0.15.2 | |
| - name: Run catalogue tests | |
| run: cd ffi/zig && zig build test --summary all | |
| - name: Run readiness tests | |
| run: cd ffi/zig && zig build readiness --summary all | |
| - name: Run cartridge FFI tests (all 73 cartridges) | |
| run: | | |
| failed="" | |
| for cart in $(ls -d cartridges/*/ffi/ 2>/dev/null | sed 's|cartridges/||;s|/ffi/||' | sort); do | |
| echo "::group::Testing $cart..." | |
| if cd "cartridges/$cart/ffi" && zig build test --summary all 2>&1; then | |
| echo " ✓ $cart passed" | |
| else | |
| echo " ✗ $cart FAILED" | |
| failed="$failed $cart" | |
| fi | |
| cd "$GITHUB_WORKSPACE" | |
| echo "::endgroup::" | |
| done | |
| if [ -n "$failed" ]; then | |
| echo "::error::Failed cartridges:$failed" | |
| exit 1 | |
| fi | |
| - name: Build cartridge shared libraries (all 73 cartridges) | |
| run: | | |
| for cart in $(ls -d cartridges/*/ffi/ 2>/dev/null | sed 's|cartridges/||;s|/ffi/||' | sort); do | |
| echo "Building $cart .so..." | |
| cd "cartridges/$cart/ffi" && zig build | |
| cd "$GITHUB_WORKSPACE" | |
| done | |
| - name: Build static library | |
| run: cd ffi/zig && zig build lib | |
| - name: Run benchmarks | |
| run: cd ffi/zig && zig build bench | |
| v-lang-check: | |
| name: V-lang Adapter Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install V-lang | |
| run: | | |
| sudo apt-get update && sudo apt-get install -y libgc-dev | |
| git clone --depth=1 https://github.com/vlang/v | |
| cd v && make && sudo ./v symlink | |
| cd .. | |
| - name: Check LSP/DAP/BSP Adapters | |
| run: | | |
| for cart in lsp-mcp dap-mcp bsp-mcp; do | |
| echo "Checking $cart adapter..." | |
| v check cartridges/$cart/adapter/*.v | |
| done |