migrate to Zig 0.16: replace libxev with synchronous POSIX I/O #39
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
| 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 |