Skip to content

~ README: Algae 3 and BNodeResolver sections #19

~ README: Algae 3 and BNodeResolver sections

~ README: Algae 3 and BNodeResolver sections #19

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y cmake bison flex libfl-dev libexpat1-dev uuid-dev \
libboost-dev libboost-regex-dev libboost-thread-dev \
libboost-filesystem-dev libboost-date-time-dev \
libboost-program-options-dev libboost-iostreams-dev \
libboost-log-dev libboost-test-dev \
xsltproc
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: brew install cmake boost bison flex expat
- name: Fetch W3C test suites
run: sh tests/fetch-test-suites.sh
- name: Configure
run: cmake -B build
- name: Build
run: cmake --build build -j4
# All suites gate the build: the md5/sha* builtins, the
# function_library CSV IRI branch, and the query-rewriter
# double-delete that made these three non-blocking are fixed.
- name: Run test suites
run: >
ctest --test-dir build --output-on-failure --timeout 600
# Ownership regressions gate here: these suites are leak-clean under
# LeakSanitizer and must stay that way.
sanitize:
name: leak-check (ASan/LSan)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake bison flex libfl-dev libexpat1-dev uuid-dev \
libboost-dev libboost-regex-dev libboost-thread-dev \
libboost-filesystem-dev libboost-date-time-dev \
libboost-program-options-dev libboost-iostreams-dev \
libboost-log-dev libboost-test-dev \
xsltproc
- name: Fetch W3C test suites
run: sh tests/fetch-test-suites.sh
- name: Configure with AddressSanitizer
run: >
cmake -B build
-DCMAKE_CXX_FLAGS="-fsanitize=address -fno-omit-frame-pointer -g -O1"
-DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address"
- name: Build
run: cmake --build build -j4 --target test_DAWG test_ShEx test_QueryMap sparql
- name: Leak-check test suites
working-directory: tests
env:
ASAN_OPTIONS: detect_leaks=1
run: |
../build/test_DAWG
../build/test_ShEx
../build/test_QueryMap
../bin/sparql --shex-manifest ShExMap/manifest.yaml