Skip to content

Python-based version of the QLever script #49

Python-based version of the QLever script

Python-based version of the QLever script #49

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:
- uses: actions/checkout@v3
- name: Install required tools and Python packages
run: |
brew install llvm@16
brew install conan@2
# brew install boost icu4c openssl zstd
brew install unzip expect
pip3 install flake8 psutil
# brew install --cask docker
- name: Cache for conan
uses: actions/cache@v3
env:
cache-name: cache-conan-modules
with:
path: ~/.conan2
key: ${{runner.os}}-build-${{env.cache-name}}-${{hashFiles('conanfile.txt')}}
- name: Install latest version of QLever
working-directory: ${{github.workspace}}
run: |
# open -a docker
# docker pull adfreiburg/qlever
# docker run adfreiburg/qlever --help > /dev/null
git clone https://github.com/ad-freiburg/qlever.git qlever-code
mkdir -p qlever-code/build
cd qlever-code/build
conan install .. -pr:b=../conanprofiles/clang-16-macos -pr:h=../conanprofiles/clang-16-macos -of=. --build=missing
cd ../..
# Download the QLever binaries.
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
# ./ServerMain --help > /dev/null
# ./IndexBuilderMain --help > /dev/null
- name: Format and compile check
run: |
flake8 qlever.py
python3 -m py_compile qlever.py
- name: Test actions for olympics dataset, without Docker
working-directory: ${{github.workspace}}
run: |
source qlever-code/build/conanrun.sh
export PATH="$PATH:$(pwd)/qlever-binaries"
ServerMain --help > /dev/null
IndexBuilderMain --help > /dev/null
mkdir olympics.without-docker && cd $_
cp -a ../Qleverfile.ini .
unbuffer python3 ../qlever.py get-data docker.USE_DOCKER=false index
unbuffer python3 ../qlever.py docker.USE_DOCKER=false start status stop start stop status start status stop
ls -lh