reformat #32
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: | |
| - "**" | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install formatting tools | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang-format clang-tidy | |
| - name: Run clang-format | |
| run: ./scripts/clang-format-check.sh | |
| - name: Run clang-tidy | |
| run: | | |
| clang-tidy src/ctx.c --warnings-as-errors=* --checks=-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling -- -std=c11 -Isrc | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: ubuntu-gcc-x86 | |
| os: ubuntu-latest | |
| cc: gcc | |
| arch: x86_64 | |
| codegen_script: codegen/x86_encoder.js | |
| harness: tests/test_harness_x86.c | |
| - name: ubuntu-clang-x86 | |
| os: ubuntu-latest | |
| cc: clang | |
| arch: x86_64 | |
| codegen_script: codegen/x86_encoder.js | |
| harness: tests/test_harness_x86.c | |
| install_clang: true | |
| - name: ubuntu-gcc-arm64 | |
| os: ubuntu-24.04-arm | |
| cc: gcc | |
| arch: arm64 | |
| codegen_script: codegen/arm64_encoder.js | |
| harness: tests/test_harness_arm64.c | |
| - name: ubuntu-clang-arm64 | |
| os: ubuntu-24.04-arm | |
| cc: clang | |
| arch: arm64 | |
| codegen_script: codegen/arm64_encoder.js | |
| harness: tests/test_harness_arm64.c | |
| install_clang: true | |
| - name: macos-clang-arm64 | |
| os: macos-latest | |
| cc: clang | |
| arch: arm64 | |
| codegen_script: codegen/arm64_encoder.js | |
| harness: tests/test_harness_arm64.c | |
| name: ${{ matrix.name }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| - name: Install clang | |
| if: matrix.install_clang && startsWith(matrix.os, 'ubuntu') | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang | |
| - name: Install Node dependencies | |
| run: npm ci | |
| - name: Regenerate backend | |
| run: node ${{ matrix.codegen_script }} | |
| - name: Build library | |
| run: make dev | |
| env: | |
| CC: ${{ matrix.cc }} | |
| - name: Build and run architecture-specific test harness | |
| run: | | |
| ${{ matrix.cc }} -std=c11 -O2 -Isrc ${{ matrix.harness }} src/ctx.c -o jit_tests | |
| ./jit_tests | |
| - name: Build and run builder test harness | |
| run: | | |
| ${{ matrix.cc }} -std=c11 -O2 -Isrc tests/test_harness_builder.c src/ctx.c -o jit_tests_builder | |
| ./jit_tests_builder | |
| - name: Build and run minilang example | |
| run: | | |
| ${{ matrix.cc }} -std=c11 -O2 -Isrc examples/minilang.c src/ctx.c -o minilang_example | |
| timeout 5 ./minilang_example | |
| - name: Build and run SIMD example | |
| run: | | |
| ${{ matrix.cc }} -std=c11 -O2 -Isrc examples/simd.c src/ctx.c -o simd_example | |
| ./simd_example |