chore: wip #6
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, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| test: | |
| name: Test on ${{ matrix.os }} with Zig ${{ matrix.zig-version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| zig-version: ['0.15.1', 'master'] | |
| fail-fast: false | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Zig | |
| uses: goto-bus-stop/setup-zig@v2 | |
| with: | |
| version: ${{ matrix.zig-version }} | |
| - name: Verify Zig installation | |
| run: zig version | |
| - name: Build framework | |
| run: zig build | |
| - name: Run tests | |
| run: zig build test | |
| - name: Run examples | |
| run: zig build examples | |
| lint: | |
| name: Lint and Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Zig | |
| uses: goto-bus-stop/setup-zig@v2 | |
| with: | |
| version: '0.15.1' | |
| - name: Check formatting | |
| run: zig fmt --check . | |
| build-docs: | |
| name: Build Documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Zig | |
| uses: goto-bus-stop/setup-zig@v2 | |
| with: | |
| version: '0.15.1' | |
| - name: Generate docs | |
| run: zig build-lib -femit-docs src/lib.zig | |
| - name: Upload docs artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: docs | |
| path: docs/ | |
| coverage: | |
| name: Code Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Zig | |
| uses: goto-bus-stop/setup-zig@v2 | |
| with: | |
| version: '0.15.1' | |
| - name: Install kcov | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y kcov | |
| - name: Build framework | |
| run: zig build | |
| - name: Run tests with coverage | |
| run: ./zig-out/bin/zig-test --test-dir tests --coverage | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| directory: ./coverage | |
| fail_ci_if_error: false | |
| verbose: true | |
| - name: Upload coverage artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: coverage/ |