Add new evaluation services for path canonicalization, host locking, … #118
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: Evaluator File Parity | |
| on: | |
| push: | |
| branches: [ "**" ] | |
| pull_request: | |
| jobs: | |
| linux-file-parity: | |
| runs-on: ubuntu-22.04 | |
| env: | |
| NOBIFY_USE_LIBCURL: "1" | |
| NOBIFY_USE_LIBARCHIVE: "1" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install system deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| curl \ | |
| libcurl4-openssl-dev \ | |
| libarchive-dev \ | |
| clang-18 \ | |
| clang-tidy-18 \ | |
| libclang-18-dev \ | |
| llvm-18-dev \ | |
| pkg-config \ | |
| python3-pip | |
| - name: Pin CMake 3.28.x | |
| run: | | |
| python3 -m pip install --upgrade pip | |
| python3 -m pip install cmake==3.28.6 | |
| cmake --version | |
| - name: Verify mandatory deps | |
| run: | | |
| pkg-config --exists libcurl | |
| pkg-config --exists libarchive | |
| pkg-config --modversion libcurl | |
| pkg-config --modversion libarchive | |
| - name: Build test runner | |
| run: | | |
| mkdir -p build | |
| cc -x c -D_GNU_SOURCE -Wall -Wextra -std=c11 -O2 -ggdb -Ivendor -Itest_v2 \ | |
| -o build/nob \ | |
| src_v2/build/nob.c \ | |
| src_v2/build/test_runner_core.c \ | |
| src_v2/build/test_daemon_protocol.c \ | |
| src_v2/build/test_daemon_client.c | |
| - name: Check semantic tidy conventions | |
| run: | | |
| ./build/nob test tidy semantic --verbose | |
| - name: Run aggregate smoke suite | |
| run: | | |
| ./build/nob test smoke | |
| windows-file-parity: | |
| runs-on: windows-2022 | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| env: | |
| NOBIFY_USE_LIBCURL: "1" | |
| NOBIFY_USE_LIBARCHIVE: "1" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup MSYS2 | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: MINGW64 | |
| update: true | |
| install: >- | |
| mingw-w64-x86_64-toolchain | |
| mingw-w64-x86_64-curl | |
| mingw-w64-x86_64-libarchive | |
| mingw-w64-x86_64-pkgconf | |
| mingw-w64-x86_64-cmake | |
| - name: Pin CMake 3.28.x | |
| shell: pwsh | |
| run: | | |
| $ErrorActionPreference = 'Stop' | |
| $zip = "$env:RUNNER_TEMP/cmake-3.28.6-windows-x86_64.zip" | |
| $url = "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-x86_64.zip" | |
| Invoke-WebRequest -Uri $url -OutFile $zip | |
| Expand-Archive -Path $zip -DestinationPath "$env:RUNNER_TEMP/cmake-3.28.6" | |
| "$env:RUNNER_TEMP/cmake-3.28.6/cmake-3.28.6-windows-x86_64/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| - name: Verify cmake + deps | |
| run: | | |
| cmake --version | |
| pacman -Qi mingw-w64-x86_64-curl >/dev/null | |
| pacman -Qi mingw-w64-x86_64-libarchive >/dev/null | |
| pacman -Qi mingw-w64-x86_64-pkgconf >/dev/null | |
| - name: Build test runner | |
| run: | | |
| mkdir -p build | |
| cc -x c -D_GNU_SOURCE -Wall -Wextra -std=c11 -O2 -ggdb -Ivendor -Itest_v2 \ | |
| -o build/nob.exe \ | |
| src_v2/build/nob.c \ | |
| src_v2/build/test_runner_core.c \ | |
| src_v2/build/test_daemon_protocol.c \ | |
| src_v2/build/test_daemon_client.c | |
| - name: Check result type conventions | |
| run: | | |
| bash test_v2/evaluator/check_result_type_conventions.sh | |
| - name: Run aggregate smoke suite | |
| run: | | |
| ./build/nob.exe test smoke |