Skip to content

Python-based version of the QLever script #68

Python-based version of the QLever script

Python-based version of the QLever script #68

name: End-to-end test on MacOS
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
merge_group:
jobs:
end-to-end-test-macos:
runs-on: ${{matrix.os}}
strategy:
fail-fast: true
matrix:
os: [macos-12]
steps:
- name: Checkout the QLever script
uses: actions/checkout@v3
with:
path: qlever-control
- name: Install dependencies for the QLever script
run: |
brew install llvm@16
brew install conan@2
brew install unzip expect
pip3 install flake8 psutil termcolor
- name: Format and compile check
working-directory: ${{github.workspace}}/qlever-control
run: |
flake8 qlever
python3 -m py_compile qlever
- name: Cache for conan (to make the next step much faster)
uses: actions/cache@v3
env:
cache-name: cache-conan-modules
with:
path: ~/.conan2
key: ${{runner.os}}-build-${{env.cache-name}}-${{hashFiles('conanfile.txt')}}
- name: Download QLever binaries and install dependencies
run: |
git clone https://github.com/ad-freiburg/qlever.git qlever-code
mkdir -p qlever-code/build && cd $_
conan install .. -pr:b=../conanprofiles/clang-16-macos -pr:h=../conanprofiles/clang-16-macos -of=. --build=missing
cd ../..
mkdir qlever-binaries && cd $_
wget -q https://ad-research.cs.uni-freiburg.de/downloads/qlever/macos-12/ServerMain
wget -q https://ad-research.cs.uni-freiburg.de/downloads/qlever/macos-12/IndexBuilderMain
chmod 755 ServerMain IndexBuilderMain
- name: Check that everything is found and runs
run: |
pwd && ls -lh
export PATH="$PATH:$(pwd)/qlever-control:$(pwd)/qlever-binaries"
source qlever-code/build/conanrun.sh
ServerMain --help > /dev/null
IndexBuilderMain --help > /dev/null
qlever
- name: Test actions for olympics dataset, without Docker
run: |
export PATH="$PATH:$(pwd)/qlever-control:$(pwd)/qlever-binaries"
mkdir -p ${{github.workspace}}/qlever-indices/olympics && cd $_
source $${github.workspace}}/qlever-code/build/conanrun.sh
unbuffer qlever setup-config olympics
unbuffer qlever get-data docker.USE_DOCKER=false index index-stats
unbuffer qlever docker.USE_DOCKER=false start status stop start stop status start status stop
ls -lh