Skip to content

Add new evaluation services for path canonicalization, host locking, … #118

Add new evaluation services for path canonicalization, host locking, …

Add new evaluation services for path canonicalization, host locking, … #118

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