Skip to content
Open

Test #13

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
4d10e5b
Run1
SIRDNARch Mar 26, 2024
a5f792a
Create run-sparql-test-suite.yml
SIRDNARch Mar 26, 2024
30a7bf2
Update README.md
SIRDNARch Mar 26, 2024
74858f6
Update README.md
SIRDNARch Mar 26, 2024
3a579d5
Update README.md
SIRDNARch Mar 26, 2024
f5ad6a8
Merge branch 'ad-freiburg:master' into master
SIRDNARch May 28, 2024
e723691
Update run-sparql-test-suite.yml
SIRDNARch May 30, 2024
0b16993
Create upload-conformance.yml
SIRDNARch May 30, 2024
d173c8a
Update run-sparql-test-suite.yml
SIRDNARch May 30, 2024
aa0ef48
Update run-sparql-test-suite.yml
SIRDNARch May 30, 2024
f04c559
Update run-sparql-test-suite.yml
SIRDNARch May 30, 2024
8b776c6
Update upload-conformance.yml
SIRDNARch Jun 3, 2024
5d45870
A minor change
SIRDNARch Jun 3, 2024
702eaba
Update run-sparql-test-suite.yml
SIRDNARch Jun 5, 2024
be7c0ef
Update upload-conformance.yml
SIRDNARch Jun 5, 2024
ba8b109
Merge pull request #4 from SIRDNARch/workflow
SIRDNARch Jun 5, 2024
4367a71
Update run-sparql-test-suite.yml
SIRDNARch Jun 5, 2024
45b51aa
Update upload-conformance.yml
SIRDNARch Jun 5, 2024
cac774f
Update run-sparql-test-suite.yml
SIRDNARch Jun 5, 2024
d0438a7
Update run-sparql-test-suite.yml
SIRDNARch Jun 6, 2024
23072da
Update run-sparql-test-suite.yml
SIRDNARch Jun 6, 2024
94fb8f1
Update upload-conformance.yml
SIRDNARch Jun 11, 2024
a5a88e6
Update run-sparql-test-suite.yml
SIRDNARch Jun 11, 2024
be796af
Merge pull request #5 from SIRDNARch/workflow-update
SIRDNARch Jun 11, 2024
03b64d8
Update run-sparql-test-suite.yml
SIRDNARch Jun 12, 2024
dce345f
Update run-sparql-test-suite.yml
SIRDNARch Jun 12, 2024
09c89c5
Update run-sparql-test-suite.yml
SIRDNARch Jun 12, 2024
789059b
Merge branch 'ad-freiburg:master' into master
SIRDNARch Sep 21, 2024
04cee75
Update README.md
SIRDNARch Sep 21, 2024
56a5364
Update README.md
SIRDNARch Sep 23, 2024
ab09d95
Compress json
SIRDNARch Sep 25, 2024
f46b6d3
Compress json fix
SIRDNARch Sep 25, 2024
d589f3c
Merge pull request #8 from SIRDNARch/test
SIRDNARch Sep 25, 2024
8ff2c87
Update run-sparql-test-suite.yml
SIRDNARch Sep 30, 2024
ae34b70
Update upload-conformance.yml
SIRDNARch Sep 30, 2024
595799a
Update README.md
SIRDNARch Sep 30, 2024
8973e05
Merge pull request #10 from SIRDNARch/SIRDNARch-patch-1
SIRDNARch Oct 1, 2024
e342da5
Update README.md
SIRDNARch Oct 8, 2024
ace4457
Update run-sparql-test-suite.yml
SIRDNARch Oct 9, 2024
41de4c3
Update upload-conformance.yml
SIRDNARch Oct 9, 2024
bf7403e
Update README.md
SIRDNARch Oct 9, 2024
e2a733e
Update run-sparql-test-suite.yml
SIRDNARch Oct 9, 2024
cc9aa3e
Update run-sparql-test-suite.yml
SIRDNARch Oct 9, 2024
cbb6a31
Update run-sparql-test-suite.yml
SIRDNARch Oct 9, 2024
256e982
Update run-sparql-test-suite.yml
SIRDNARch Oct 9, 2024
b4def8f
Update run-sparql-test-suite.yml
SIRDNARch Oct 10, 2024
1da8277
Update upload-conformance.yml
SIRDNARch Oct 10, 2024
62ddc67
Merge pull request #12 from SIRDNARch/SIRDNARch-patch-2
SIRDNARch Oct 10, 2024
351eb08
Update README.md
SIRDNARch Oct 10, 2024
5a8f3d8
Test
SIRDNARch Oct 12, 2024
accdd34
Update README.md
SIRDNARch Oct 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions .github/workflows/run-sparql-test-suite.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: sparql-test-suite

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
merge_group:

jobs:
build:
env:
compiler: clang
compiler-version: 16
build-type: Release
cmake-flags: "-DCMAKE_C_COMPILER=clang-16 -DCMAKE_CXX_COMPILER=clang++-16"
SERVER_URL: ${{ secrets.CONFORMANCE_UPLOAD_SERVER_URL }}
API_KEY: ${{ secrets.CONFORMANCE_UPLOAD_SERVER_KEY }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
path: qlever-code
- name: Test upload server and GitHub App authentication
run: |
echo '{ "test": "test" }' > test.json
response=$(curl -s -o temp_response.txt -w "%{http_code}" \
-H "x-api-key: $API_KEY" \
-H "event: ${{ github.event_name }}" \
-H "sha: ${{ github.sha }}" \
-H "test: test" \
-F "file=@${{ github.workspace }}/test.json" \
$SERVER_URL/upload)

echo "Server response:"
cat temp_response.txt
echo "HTTP Status: $response"
if [ "$response" -gt 200 ]; then
echo "Server did not respond with status 200. Failing the workflow."
exit 1
fi
- name: Checkout sparql-test-suite-files
uses: actions/checkout@v3
with:
repository: "w3c/rdf-tests"
path: sparql-test-suite
- name: Checkout qlever-test-suite
uses: actions/checkout@v3
with:
repository: "SIRDNARch/qlever-conformance-tests"
token: ${{ secrets.REPO_ACCESS_TOKEN }}
path: qlever-test-suite
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install requests
pip install rdflib
- name: Install dependencies
uses: ./qlever-code/.github/workflows/install-dependencies-ubuntu
- name: Install compiler
uses: ./qlever-code/.github/workflows/install-compiler-ubuntu
with:
compiler: "clang"
compiler-version: "16"
- name: Create build directory
run: mkdir ${{github.workspace}}/qlever-code/build
- name: Configure CMake
run: cmake -S ${{github.workspace}}/qlever-code/ -B ${{github.workspace}}/qlever-code/build ${{env.cmake-flags}} -DCMAKE_BUILD_TYPE=${{env.build-type}} -DLOGLEVEL=INFO -DUSE_PARALLEL=false
- name: Build IndexBuilderMain
run: cmake --build ${{github.workspace}}/qlever-code/build --target IndexBuilderMain --config ${{env.build-type}} -- -j $(nproc)
- name: Build ServerMain
run: cmake --build ${{github.workspace}}/qlever-code/build --target ServerMain --config ${{env.build-type}} -- -j $(nproc)
- name: Execute test suite
run: |
cd qlever-test-suite
python testsuite.py config http://0.0.0.0 7001 ${{github.workspace}}/sparql-test-suite/sparql/sparql11/ ${{github.workspace}}/qlever-code/build/ localhost sparql sparql
python testsuite.py extract
python testsuite.py ${{ github.sha }}
cd ..
- name: Save workflow information
# Note: If you change any of the filenames here, you also have to change them in `upload-conformance.yml`
run : |
mkdir -p conformance-report
echo ${{ github.event_name }} > ./conformance-report/event
echo ${{ github.event.number }} > ./conformance-report/pr
echo ${{ github.repository }} > ./conformance-report/github_repository
echo ${GITHUB_REF} > ./conformance-report/github_ref
- name: Save SHA and conformance report if it is a master commit.
if: github.event_name == 'push'
run : |
echo ${{github.sha}} > ./conformance-report/sha
mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json.bz2 conformance-report/${{ github.sha }}.json.bz2
- name: Save SHA and conformance report if it is a PR.
if: github.event_name == 'pull_request'
run : |
echo ${{github.event.pull_request.head.sha}} > ./conformance-report/sha
mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json.bz2 conformance-report/${{ github.event.pull_request.head.sha }}.json.bz2
- name: Upload coverage artifact
uses: actions/upload-artifact@v3
with:
name: conformance-report
path: conformance-report/
51 changes: 51 additions & 0 deletions .github/workflows/upload-conformance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Upload conformance tests result

on:
workflow_run:
workflows: [sparql-test-suite]
types:
- completed

jobs:
upload:
env:
SERVER_URL: ${{ secrets.CONFORMANCE_UPLOAD_SERVER_URL }}
API_KEY: ${{ secrets.CONFORMANCE_UPLOAD_SERVER_KEY }}
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- name: 'Download artifact'
uses: actions/github-script@v6
with:
script: |
var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
});
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "conformance-report"
})[0];
var download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/conformance-report.zip', Buffer.from(download.data));
- run: unzip conformance-report.zip
# Read the metadata into environment variables.
- name: "Read github event"
run: echo "github_event=`cat event`" >> $GITHUB_ENV
- name: "Read PR number"
run: echo "pr_number=`cat pr`" >> $GITHUB_ENV
- name: "Read Github Ref"
run: echo "original_github_ref=`cat github_ref`" >> $GITHUB_ENV;
- name: "Read Github SHA"
run: echo "commit_sha=`cat sha`" >> $GITHUB_ENV;
- name: "Read Github Repository"
run: echo "original_github_repository=`cat github_repository`" >> $GITHUB_ENV;
- name: "Submit data to server"
run: |
curl -H "x-api-key: $API_KEY" -H "event: ${{env.github_event}}" -H "sha: ${{env.commit_sha}}" -H "pr-number: ${{env.pr_number}}" -H "repo: ${{env.original_github_repository}}" -F "file=@${{env.commit_sha}}.json.bz2" $SERVER_URL/upload
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@ If the `qlever` script does not work for you for whatever reason, have a look at
An older (and not quite up-to-date anymore) step-by-step instruction can be found [here](docs/quickstart.md).
QLever's [advanced features are described here](docs/advanced_features.md).
For more in-depth information, see the various other `.md` files in [this folder](docs), some of which are outdated though.
For high-level descriptions how Qlever works and experiences with some concrete datasets, see the [Qlever Wiki](https://github.com/ad-freiburg/qlever/wiki).
For high-level descriptions how Qlever works and experiences with some concrete datasets, see the [Qlever Wiki](https://github.com/ad-freiburg/qlever/wiki). Run first run2