2025-11-24 00:07:51 +06:00

73 lines
1.6 KiB
YAML

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.2
# - name: Cache Zig build artifacts
# uses: actions/cache@v4
# with:
# path: |
# ~/.cache/zig
# zig-out
# key: ${{ runner.os }}-zig-${{ hashFiles('**/build.zig', '**/build.zig.zon', '**/*.zig') }}
# restore-keys: |
# ${{ runner.os }}-zig-
- name: Build project
run: zig build
- name: Verify executable
run: |
./zig-out/bin/zx --help || echo "Executable built successfully"
shell: bash
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.2
# - name: Cache Zig build artifacts
# uses: actions/cache@v4
# with:
# path: |
# ~/.cache/zig
# zig-out
# key: ${{ runner.os }}-zig-${{ hashFiles('**/build.zig', '**/build.zig.zon', '**/*.zig') }}
# restore-keys: |
# ${{ runner.os }}-zig-
- name: Run tests
run: zig build test