Skip to content

migrate to Zig 0.16: replace libxev with synchronous POSIX I/O #39

migrate to Zig 0.16: replace libxev with synchronous POSIX I/O

migrate to Zig 0.16: replace libxev with synchronous POSIX I/O #39

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: jdx/mise-action@v3
- name: Install Cap'n Proto compiler (Linux)
if: runner.os == 'Linux'
run: |
if command -v sudo >/dev/null 2>&1; then
sudo apt-get update
sudo apt-get install -y capnproto libcapnp-dev
else
apt-get update
apt-get install -y capnproto libcapnp-dev
fi
- name: Run tests
run: zig build test --summary all
- name: Check compilation
run: zig build check
fmt-check:
name: Format check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v3
- name: Check formatting
run: zig fmt --check --exclude tests/golden --exclude src/rpc/gen src/ tests/ bench/ tools/
bench-check:
name: Benchmark regression check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: jdx/mise-action@v3
- name: Run benchmark regression checks
run: zig build bench-check
wasm-build:
name: WASM build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: jdx/mise-action@v3
- name: Build WASM host
run: zig build wasm-host
release-build:
name: Release build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: jdx/mise-action@v3
- name: Build ReleaseSafe
run: zig build -Doptimize=ReleaseSafe