-
Notifications
You must be signed in to change notification settings - Fork 14
88 lines (78 loc) · 3.57 KB
/
end-to-end-test-ubuntu.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
name: End-to-end test on Linux
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
merge_group:
jobs:
end-to-end-test-linux:
runs-on: ${{matrix.os}}
strategy:
fail-fast: true
matrix:
os: [ubuntu-22.04]
steps:
- name: Checkout the QLever script
uses: actions/checkout@v3
with:
path: qlever-control
- name: Install dependencies for the QLever script
run: |
sudo apt update
sudo apt install unzip flake8 expect
pip3 install psutil termcolor
- name: Format and compile check
working-directory: ${{github.workspace}}/qlever-control
run: |
flake8 qlever
python3 -m py_compile qlever
- name: Download QLever binaries and docker image and install dependencies
run: |
# Download Docker image.
docker pull adfreiburg/qlever
# Download QLever binaries.
mkdir qlever-binaries && cd $_
wget -q https://ad-research.cs.uni-freiburg.de/downloads/qlever/ubuntu-22.04/ServerMain
wget -q https://ad-research.cs.uni-freiburg.de/downloads/qlever/ubuntu-22.04/IndexBuilderMain
chmod 755 ServerMain IndexBuilderMain
# Install depencies needed for running the binaries.
curl -Gs https://raw.githubusercontent.com/ad-freiburg/qlever/master/Dockerfile | sed -En 's/(add-apt|apt|tee)/sudo \1/g; s/^RUN //p' | sed '/^cmake/q' | sed -E 's/^(cmake.*)/mkdir -p build \&\& cd build\n\1\ncd ../' | sed -n '/^sudo/p' > INSTALL
cat INSTALL
source ./INSTALL
- name: Check that everything is found and runs
run: |
mkdir qlever-indices
pwd && ls -lh
export PATH="$PATH:$(pwd)/qlever-control:$(pwd)/qlever-binaries"
docker run --entrypoint bash adfreiburg/qlever -c "ServerMain --help" > /dev/null
docker run --entrypoint bash adfreiburg/qlever -c "IndexBuilderMain --help" > /dev/null
ServerMain --help > /dev/null
IndexBuilderMain --help > /dev/null
qlever
qlever help
- name: Test actions for olympics dataset, with Docker
run: |
export PATH="$PATH:$(pwd)/qlever-control:$(pwd)/qlever-binaries"
mkdir -p ${{github.workspace}}/qlever-indices/olympics.1 && cd $_
qlever setup-config olympics
unbuffer qlever get-data docker.USE_DOCKER=true index index-stats start status test-query restart status test-query stop status start stop start test-query stop status
ls -lh
- 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.2 && cd $_
qlever setup-config olympics
qlever get-data docker.USE_DOCKER=false index index-stats start status test-query restart status test-query stop status start stop start test-query stop status
ls -lh
- name: Test actions for olympics dataset, with and without Docker
run: |
export PATH="$PATH:$(pwd)/qlever-control:$(pwd)/qlever-binaries"
mkdir -p ${{github.workspace}}/qlever-indices/olympics.3 && cd $_
qlever setup-config olympics
qlever get-data index index-stats
qlever docker.USE_DOCKER=false start status test-query
unbuffer qlever docker.USE_DOCKER=true stop status
unbuffer qlever docker.USE_DOCKER=true restart status test-query
qlever docker.USE_DOCKER=false stop status
ls -lh