name: CI on: create: push: branches: master paths: - '**.zig' pull_request: schedule: - cron: "0 13 * * *" workflow_dispatch: concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: lint: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: mlugg/setup-zig@v1 with: version: master - run: zig fmt --check *.zig test-in-memory: strategy: fail-fast: false matrix: os: [ubuntu-24.04, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup zig uses: mlugg/setup-zig@v1 with: version: master - name: Install qemu if: ${{ matrix.os == 'ubuntu-24.04' }} run: | sudo apt-get update -y && sudo apt-get install -y qemu-user-binfmt - name: Restore cache uses: actions/cache@v4 with: path: | zig-cache ~/.cache/zig key: ${{ runner.os }}-${{ matrix.os }}-zig-${{ github.sha }} restore-keys: ${{ runner.os }}-${{ matrix.os }}-zig- - name: Run Tests in memory if: ${{ matrix.os == 'ubuntu-24.04' }} run: zig build test -Dci=true -Din_memory=true --summary all -fqemu -fwine - name: Run Tests in memory if: ${{ matrix.os != 'ubuntu-24.04' }} run: zig build test -Dci=true -Din_memory=true --summary all