name: Zig Test and Benchmark on: push: branches: [main] pull_request: branches: [main] env: ZIG_VERSION: 0.14.0-dev.1409+6d2945f1f jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Cache Zig uses: actions/cache@v3 with: path: ~/zig key: ${{ runner.os }}-zig-${{ env.ZIG_VERSION }} - name: Install Zig if: steps.cache.outputs.cache-hit != 'true' run: | wget https://ziglang.org/builds/zig-linux-x86_64-${{ env.ZIG_VERSION }}.tar.xz tar -xf zig-linux-x86_64-${{ env.ZIG_VERSION }}.tar.xz mv zig-linux-x86_64-${{ env.ZIG_VERSION }} ~/zig - name: Add Zig to PATH run: echo "${HOME}/zig" >> $GITHUB_PATH - name: Cache Zig build artifacts uses: actions/cache@v3 with: path: | zig-cache ~/.cache/zig key: ${{ runner.os }}-zig-build-${{ hashFiles('**/*.zig') }} restore-keys: | ${{ runner.os }}-zig-build- - name: Unit testing run: zig build test --summary all - name: Run benchmarks run: zig build bench -Doptimize=ReleaseFast