Add support for CMake 3.28.6 in test runner environment setup #109
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 \ | |
| 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 -D_GNU_SOURCE -std=c11 -Wall -Wextra -pedantic -Ivendor src_v2/build/nob_test.c -o build/nob_v2_test | |
| - name: Check result type conventions | |
| run: | | |
| bash test_v2/evaluator/check_result_type_conventions.sh | |
| - name: Run aggregate smoke suite (test-v2) | |
| run: | | |
| ./build/nob_v2_test test-v2 | |
| 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 -D_GNU_SOURCE -std=c11 -Wall -Wextra -pedantic -Ivendor src_v2/build/nob_test.c -o build/nob_v2_test.exe | |
| - name: Check result type conventions | |
| run: | | |
| bash test_v2/evaluator/check_result_type_conventions.sh | |
| - name: Run aggregate smoke suite (test-v2) | |
| run: | | |
| ./build/nob_v2_test.exe test-v2 |