From 4d10e5baea5ae81efb0f8db4ac4bec61bc801f17 Mon Sep 17 00:00:00 2001 From: SIRDNARch <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:08:29 +0100 Subject: [PATCH 01/44] Run1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4bb752c50c..c5298ac900 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,4 @@ 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 run From a5f792a51b020aa44fa6cb0edaba662a811f5b7b Mon Sep 17 00:00:00 2001 From: SIRDNARch <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:09:32 +0100 Subject: [PATCH 02/44] Create run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 81 +++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/run-sparql-test-suite.yml diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml new file mode 100644 index 0000000000..1c60caaa0a --- /dev/null +++ b/.github/workflows/run-sparql-test-suite.yml @@ -0,0 +1,81 @@ +name: sparql-test-suite + +on: + push: + branches: [ master ] + +jobs: + build: + env: + compiler: clang + compiler-version: 16 + build-type: Release + cmake-flags: "-DCMAKE_C_COMPILER=clang-16 -DCMAKE_CXX_COMPILER=clang++-16" + + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + path: qlever-code + - 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-test-suite" + token: ${{ secrets.REPO_ACCESS_TOKEN }} + path: qlever-test-suite + - name: Checkout test-web + run: | + git config --global user.email "andrisrico@gmail.com" + git config --global user.name "SIRDNARch" + git clone https://x-access-token:${{ secrets.REPO_ACCESS_TOKEN }}@github.com/SIRDNARch/test-web + + - 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 + run: cmake --build ${{github.workspace}}/qlever-code/build --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 }} + python compare.py ${{ github.sha }} + cd .. + - name: Commit to test-web + run: | + cd test-web + cp ../qlever-test-suite/results/${{ github.sha }}.json ./results/ + git add . + git commit -m "Add ${{ github.sha }}" + git push + - name: Fail Workflow if Code + if: env.status != '0' + run: | + echo $msg + echo $link + exit 1 From 30a7bf220222aa1e4a32864302d4d219d9565d0a Mon Sep 17 00:00:00 2001 From: SIRDNARch <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:52:11 +0100 Subject: [PATCH 03/44] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c5298ac900..72c1b9952e 100644 --- a/README.md +++ b/README.md @@ -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). Run first run +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 run1 + From 74858f6d8bf58c903f7246d351eb734d18ec7bf9 Mon Sep 17 00:00:00 2001 From: SIRDNARch <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:39:08 +0100 Subject: [PATCH 04/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72c1b9952e..a31e4e6000 100644 --- a/README.md +++ b/README.md @@ -33,5 +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). Run first run1 +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 run From 3a579d5c10a37daaede85a2baf72c07878ea6be8 Mon Sep 17 00:00:00 2001 From: SIRDNARch <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 26 Mar 2024 13:50:50 +0100 Subject: [PATCH 05/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a31e4e6000..ccbd2ea369 100644 --- a/README.md +++ b/README.md @@ -33,5 +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). Run first run +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 From e723691d3e2cdeb84dd5c7678d4436dab8e78bdd Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 30 May 2024 15:16:57 +0200 Subject: [PATCH 06/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 41 +++++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 1c60caaa0a..d49c9d7473 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -3,6 +3,9 @@ name: sparql-test-suite on: push: branches: [ master ] + pull_request: + branches: [ master ] + merge_group: jobs: build: @@ -29,12 +32,6 @@ jobs: repository: "SIRDNARch/qlever-test-suite" token: ${{ secrets.REPO_ACCESS_TOKEN }} path: qlever-test-suite - - name: Checkout test-web - run: | - git config --global user.email "andrisrico@gmail.com" - git config --global user.name "SIRDNARch" - git clone https://x-access-token:${{ secrets.REPO_ACCESS_TOKEN }}@github.com/SIRDNARch/test-web - - name: Set up Python uses: actions/setup-python@v4 with: @@ -55,7 +52,6 @@ jobs: 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 run: cmake --build ${{github.workspace}}/qlever-code/build --config ${{env.build-type}} -- -j $(nproc) - name: Execute test suite @@ -73,9 +69,30 @@ jobs: git add . git commit -m "Add ${{ github.sha }}" git push - - name: Fail Workflow if Code - if: env.status != '0' +# Only upload directly if this is not a pull request. In this +# case we are on the master branch and have access to the token. + - name: "Submit data to server" + if: github.event_name != 'pull_request' + env: + SERVER_URL: ${{ secrets.SERVER_URL }} + API_KEY: ${{ secrets.SERVER_KEY }} run: | - echo $msg - echo $link - exit 1 + curl -H "x-api-key: $API_KEY" -F "file=@generated-file.txt" $SERVER_URL/upload + +# For a pull request we store the file as well as some information +# about this PR (number, how to check it out, etc.) and upload it as an artifact. + - name: Save PR number and coverage file in same directory + if: github.event_name == 'pull_request' + # Note: If you change any of the filenames here, you also have to change them in `upload-coverage.yml` + run : | + mkdir -p conformance-report + echo ${{ github.event.number }} > ./coverage-report/pr + echo ${{ github.repository }} > ./coverage-report/github_repository + echo ${GITHUB_REF} > ./coverage-report/github_ref + mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json coverage-report + - name: Upload coverage artifact + if: github.event_name == 'pull_request' + uses: actions/upload-artifact@v3 + with: + name: coverage-report + path: coverage-report/ From 0b16993b85daffd8ccbdf59b1d1b3ced441947fb Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 30 May 2024 15:36:39 +0200 Subject: [PATCH 07/44] Create upload-conformance.yml First version of upload-conformance workflow --- .github/workflows/upload-conformance.yml | 59 ++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/upload-conformance.yml diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml new file mode 100644 index 0000000000..d636071605 --- /dev/null +++ b/.github/workflows/upload-conformance.yml @@ -0,0 +1,59 @@ +name: Upload conformance tests result + +on: + workflow_run: + # This has to be the `name:` of the workflow in `code_coverage.yml`. + # Start when this workflow has finished successfully. + workflows: [sparql-test-suite] + types: + - completed + +jobs: + upload: + runs-on: ubuntu-latest + if: > + github.event.workflow_run.event == 'pull_request' && + github.event.workflow_run.conclusion == 'success' + steps: + - name: 'Download artifact' + uses: actions/github-script@v6 + # The following script is taken from the link stated at the + # beginning of this file. It manually downloads an artifact + # from another workflow. + 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}}/coverage-report.zip', Buffer.from(download.data)); + - run: unzip conformance-report.zip + # Read the metadata into environment variables. + - 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 Repository" + run: echo "original_github_repository=`cat github_repository`" >> $GITHUB_ENV; + # We have to check out the source code from the PR, otherwise Codecov + # won't process the upload properly. We first check it out into a + # subdirectory `qlever-source`, otherwise the coverage report will + # be overwritten. We then move all the files back into the working + # directory such that Codecov will pick them up properly. + - name: "Submit data to server" + env: + SERVER_URL: ${{ secrets.SERVER_URL }} + API_KEY: ${{ secrets.SERVER_KEY }} + run: | + curl -H "x-api-key: $API_KEY" -F "file=@generated-file.txt" $SERVER_URL/upload From d173c8ac4ad068bbc42f91efa9bbbedfe91fc4b0 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 30 May 2024 15:51:11 +0200 Subject: [PATCH 08/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index d49c9d7473..3eaca08e60 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -29,7 +29,7 @@ jobs: - name: Checkout qlever-test-suite uses: actions/checkout@v3 with: - repository: "SIRDNARch/qlever-test-suite" + repository: "SIRDNARch/qlever-conformance-tests" token: ${{ secrets.REPO_ACCESS_TOKEN }} path: qlever-test-suite - name: Set up Python From aa0ef482cdf2e6349b02c6fb5bc06950072609e8 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 30 May 2024 16:31:12 +0200 Subject: [PATCH 09/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 3eaca08e60..20d5827c99 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -60,15 +60,7 @@ jobs: 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 }} - python compare.py ${{ github.sha }} cd .. - - name: Commit to test-web - run: | - cd test-web - cp ../qlever-test-suite/results/${{ github.sha }}.json ./results/ - git add . - git commit -m "Add ${{ github.sha }}" - git push # Only upload directly if this is not a pull request. In this # case we are on the master branch and have access to the token. - name: "Submit data to server" @@ -86,13 +78,13 @@ jobs: # Note: If you change any of the filenames here, you also have to change them in `upload-coverage.yml` run : | mkdir -p conformance-report - echo ${{ github.event.number }} > ./coverage-report/pr - echo ${{ github.repository }} > ./coverage-report/github_repository - echo ${GITHUB_REF} > ./coverage-report/github_ref + echo ${{ github.event.number }} > ./conformance-report/pr + echo ${{ github.repository }} > ./conformance-report/github_repository + echo ${GITHUB_REF} > ./conformance-report/github_ref mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json coverage-report - name: Upload coverage artifact if: github.event_name == 'pull_request' uses: actions/upload-artifact@v3 with: - name: coverage-report - path: coverage-report/ + name: conformance-report + path: conformance-report/ From f04c5596bc87e7a68aec6a596215d4089431e876 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 30 May 2024 18:17:53 +0200 Subject: [PATCH 10/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 20d5827c99..036ebdfb08 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -69,7 +69,7 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -F "file=@generated-file.txt" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload # For a pull request we store the file as well as some information # about this PR (number, how to check it out, etc.) and upload it as an artifact. From 8b776c66f2618c511e319f048665dbe7595596d9 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Mon, 3 Jun 2024 15:32:58 +0200 Subject: [PATCH 11/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index d636071605..bf3c8bf8ce 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -37,7 +37,7 @@ jobs: archive_format: 'zip', }); var fs = require('fs'); - fs.writeFileSync('${{github.workspace}}/coverage-report.zip', Buffer.from(download.data)); + fs.writeFileSync('${{github.workspace}}/conformance-report.zip', Buffer.from(download.data)); - run: unzip conformance-report.zip # Read the metadata into environment variables. - name: "Read PR number" From 5d45870077ac1c0e96f51c82a072a18df23677b3 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:20:41 +0200 Subject: [PATCH 12/44] A minor change --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ccbd2ea369..787561b9f6 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ which makes it very easy to get started and also helps to write your own `Qlever QLever via docker (which is the default setting), the script pulls the most recent docker image automatically and you don't have to download or compile the code. -If the `qlever` script does not work for you for whatever reason, have a look at the [Dockerfile for Ubuntu 22.04](https://github.com/ad-freiburg/qlever/blob/master/Dockerfile) or the [Dockerfiles for older Ubuntu versions](https://github.com/ad-freiburg/qlever/tree/master/Dockerfiles). The [source code of the qlever script](https://github.com/ad-freiburg/qlever-control/blob/main/qlever) also provides information on how to use QLever (in particular, note the functions `action_start` and `action_index`). +If the `qlever` script does not work for you for whatever reason, have a look at the [Dockerfile for Ubuntu 22.04](https://github.com/ad-freiburg/qlever/blob/master/Dockerfile) or the [Dockerfiles for older Ubuntu versions](https://github.com/ad-freiburg/qlever/tree/master/Dockerfiles). The [source code of the qlever script](https://github.com/ad-freiburg/qlever-control/blob/main/qlever) also provides information on how to use QLever (in particular, note the functions `action_start` and `action_index`). Test + 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). From 702eaba6425ef4e8481c20a56125f4b21c2b6f81 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:17:01 +0200 Subject: [PATCH 13/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 036ebdfb08..4e7f2bd57d 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -81,6 +81,7 @@ jobs: echo ${{ github.event.number }} > ./conformance-report/pr echo ${{ github.repository }} > ./conformance-report/github_repository echo ${GITHUB_REF} > ./conformance-report/github_ref + echo ${github.sha} > ./conformance-report/sha mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json coverage-report - name: Upload coverage artifact if: github.event_name == 'pull_request' From be7c0ef7ccb6484c62730df54a99d9c9a112bfc9 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:19:01 +0200 Subject: [PATCH 14/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index bf3c8bf8ce..fbe91fe939 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -44,6 +44,8 @@ jobs: 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; # We have to check out the source code from the PR, otherwise Codecov @@ -56,4 +58,4 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -F "file=@generated-file.txt" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -F "file=@${{commit_sha}}.json" $SERVER_URL/upload From 4367a719703338700bbbed3bb36c5738b1666572 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 5 Jun 2024 19:38:04 +0200 Subject: [PATCH 15/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 4e7f2bd57d..5f27c0366f 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -81,7 +81,7 @@ jobs: echo ${{ github.event.number }} > ./conformance-report/pr echo ${{ github.repository }} > ./conformance-report/github_repository echo ${GITHUB_REF} > ./conformance-report/github_ref - echo ${github.sha} > ./conformance-report/sha + echo ${{github.sha}} > ./conformance-report/sha mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json coverage-report - name: Upload coverage artifact if: github.event_name == 'pull_request' From 45b51aa5a4bfd58553d5fd361b941e16823282cd Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 5 Jun 2024 21:10:02 +0200 Subject: [PATCH 16/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index fbe91fe939..c8a4f9409d 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -58,4 +58,4 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -F "file=@${{commit_sha}}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -F "file=@${{env.commit_sha}}.json" $SERVER_URL/upload From cac774ff8461c03e60fca0f2cd0582d1c331b7c9 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 5 Jun 2024 22:26:15 +0200 Subject: [PATCH 17/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 5f27c0366f..b5e783e263 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -82,7 +82,7 @@ jobs: echo ${{ github.repository }} > ./conformance-report/github_repository echo ${GITHUB_REF} > ./conformance-report/github_ref echo ${{github.sha}} > ./conformance-report/sha - mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json coverage-report + mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json conformance-report - name: Upload coverage artifact if: github.event_name == 'pull_request' uses: actions/upload-artifact@v3 From d0438a7153abbd96a052544e964a766ab8c15d3d Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:39:46 +0200 Subject: [PATCH 18/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index b5e783e263..21df8eb97e 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -17,6 +17,9 @@ jobs: runs-on: ubuntu-22.04 steps: + - name: Print head_sha + run: | + echo "The head SHA is ${{ github.event.pull_request.head.sha }}" - uses: actions/checkout@v3 with: submodules: "recursive" From 23072da6318b39ac95d8b23bfd731bc408a55782 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:43:27 +0200 Subject: [PATCH 19/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 21df8eb97e..b77831743f 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -17,9 +17,6 @@ jobs: runs-on: ubuntu-22.04 steps: - - name: Print head_sha - run: | - echo "The head SHA is ${{ github.event.pull_request.head.sha }}" - uses: actions/checkout@v3 with: submodules: "recursive" @@ -75,7 +72,7 @@ jobs: curl -H "x-api-key: $API_KEY" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload # For a pull request we store the file as well as some information -# about this PR (number, how to check it out, etc.) and upload it as an artifact. +# about this PR (number, how to check it out, etc.) and upload it as an artifact - name: Save PR number and coverage file in same directory if: github.event_name == 'pull_request' # Note: If you change any of the filenames here, you also have to change them in `upload-coverage.yml` @@ -85,7 +82,7 @@ jobs: echo ${{ github.repository }} > ./conformance-report/github_repository echo ${GITHUB_REF} > ./conformance-report/github_ref echo ${{github.sha}} > ./conformance-report/sha - mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json conformance-report + mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json conformance-report/${{ github.event.pull_request.head.sha }}.json - name: Upload coverage artifact if: github.event_name == 'pull_request' uses: actions/upload-artifact@v3 From 94fb8f1cf0252413064bd10a09e9e777453c8979 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:01:06 +0200 Subject: [PATCH 20/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index c8a4f9409d..22948a5aef 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -58,4 +58,4 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -F "file=@${{env.commit_sha}}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.event}}" -H "sha: ${{env.commit_sha}}" -H "pr-number: ${{env.pr_number}}" -H "repo: ${{env.original_github_repository}}" -F "file=@${{env.commit_sha}}.json" $SERVER_URL/upload From a5a88e657c61c9933fcdcc41983b6c37ed8a5bda Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:08:28 +0200 Subject: [PATCH 21/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index b77831743f..e32b3a2fd9 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -69,7 +69,7 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.event}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload # For a pull request we store the file as well as some information # about this PR (number, how to check it out, etc.) and upload it as an artifact From 03b64d8ab249b0e5c9e546eefdbd2c8bc075bdb7 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:36:23 +0200 Subject: [PATCH 22/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index e32b3a2fd9..6bb7af8cbd 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -69,7 +69,7 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.event}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.event}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload # For a pull request we store the file as well as some information # about this PR (number, how to check it out, etc.) and upload it as an artifact From dce345fb033ecf989dfe140c166986f801553fcd Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:30:54 +0200 Subject: [PATCH 23/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 6bb7af8cbd..616102c9b0 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -81,7 +81,7 @@ jobs: echo ${{ github.event.number }} > ./conformance-report/pr echo ${{ github.repository }} > ./conformance-report/github_repository echo ${GITHUB_REF} > ./conformance-report/github_ref - echo ${{github.sha}} > ./conformance-report/sha + echo ${{github.event.pull_request.head.sha}} > ./conformance-report/sha mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json conformance-report/${{ github.event.pull_request.head.sha }}.json - name: Upload coverage artifact if: github.event_name == 'pull_request' From 09c89c50b39125a3fc64049109d6e056d6ede725 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:16:23 +0200 Subject: [PATCH 24/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 616102c9b0..906e0641e4 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -69,7 +69,7 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.event}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -H "event: ${{github.event_name}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload # For a pull request we store the file as well as some information # about this PR (number, how to check it out, etc.) and upload it as an artifact From 04cee75cac4beffd1d29d17db4c564113740ddfc Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Sat, 21 Sep 2024 18:57:26 +0200 Subject: [PATCH 25/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a32e09c08..4b03e603a2 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ which makes it very easy to get started and also helps to write your own `Qlever QLever via docker (which is the default setting), the script pulls the most recent docker image automatically and you don't have to download or compile the code. -If the `qlever` script does not work for you for whatever reason, have a look at the [Dockerfile for Ubuntu 22.04](https://github.com/ad-freiburg/qlever/blob/master/Dockerfile) or the [Dockerfiles for older Ubuntu versions](https://github.com/ad-freiburg/qlever/tree/master/Dockerfiles). The [source code of the qlever script](https://github.com/ad-freiburg/qlever-control/blob/main/qlever) also provides information on how to use QLever (in particular, note the functions `action_start` and `action_index`). Test + +If the `qlever` script does not work for you for whatever reason, have a look at the [Dockerfile for Ubuntu 22.04](https://github.com/ad-freiburg/qlever/blob/master/Dockerfile) or the [Dockerfiles for older Ubuntu versions](https://github.com/ad-freiburg/qlever/tree/master/Dockerfiles). The [source code of the qlever script](https://github.com/ad-freiburg/qlever-control/blob/main/qlever) also provides information on how to use QLever (in particular, note the functions `action_start` and `action_index`). Test + Test 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). From 56a53647de8db150b1efa652fee7735617c5c80f Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Mon, 23 Sep 2024 18:01:37 +0200 Subject: [PATCH 26/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b03e603a2..7a2f2bcf10 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ which makes it very easy to get started and also helps to write your own `Qlever QLever via docker (which is the default setting), the script pulls the most recent docker image automatically and you don't have to download or compile the code. -If the `qlever` script does not work for you for whatever reason, have a look at the [Dockerfile for Ubuntu 22.04](https://github.com/ad-freiburg/qlever/blob/master/Dockerfile) or the [Dockerfiles for older Ubuntu versions](https://github.com/ad-freiburg/qlever/tree/master/Dockerfiles). The [source code of the qlever script](https://github.com/ad-freiburg/qlever-control/blob/main/qlever) also provides information on how to use QLever (in particular, note the functions `action_start` and `action_index`). Test + Test +If the `qlever` script does not work for you for whatever reason, have a look at the [Dockerfile for Ubuntu 22.04](https://github.com/ad-freiburg/qlever/blob/master/Dockerfile) or the [Dockerfiles for older Ubuntu versions](https://github.com/ad-freiburg/qlever/tree/master/Dockerfiles). The [source code of the qlever script](https://github.com/ad-freiburg/qlever-control/blob/main/qlever) also provides information on how to use QLever (in particular, note the functions `action_start` and `action_index`). 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). From ab09d95e5138785d63db98220d60827932f06a64 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 25 Sep 2024 16:38:17 +0200 Subject: [PATCH 27/44] Compress json --- .github/workflows/run-sparql-test-suite.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 906e0641e4..bfee35fe0c 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -69,7 +69,7 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -H "event: ${{github.event_name}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -H "event: ${{github.event_name}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json.bz2" $SERVER_URL/upload # For a pull request we store the file as well as some information # about this PR (number, how to check it out, etc.) and upload it as an artifact @@ -82,7 +82,7 @@ jobs: echo ${{ github.repository }} > ./conformance-report/github_repository echo ${GITHUB_REF} > ./conformance-report/github_ref echo ${{github.event.pull_request.head.sha}} > ./conformance-report/sha - mv ${{ github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json conformance-report/${{ github.event.pull_request.head.sha }}.json + 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 if: github.event_name == 'pull_request' uses: actions/upload-artifact@v3 From f46b6d3d9e3f7ea0cd24506013f988849cf0f20e Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 25 Sep 2024 16:38:47 +0200 Subject: [PATCH 28/44] Compress json fix --- .github/workflows/upload-conformance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index 22948a5aef..855aed1c10 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -58,4 +58,4 @@ jobs: SERVER_URL: ${{ secrets.SERVER_URL }} API_KEY: ${{ secrets.SERVER_KEY }} run: | - curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.event}}" -H "sha: ${{env.commit_sha}}" -H "pr-number: ${{env.pr_number}}" -H "repo: ${{env.original_github_repository}}" -F "file=@${{env.commit_sha}}.json" $SERVER_URL/upload + curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.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 From 8ff2c87800649304e1e71f9ada326d91e0d502ed Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Mon, 30 Sep 2024 21:55:03 +0200 Subject: [PATCH 29/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index bfee35fe0c..c14ea61a78 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -67,7 +67,7 @@ jobs: if: github.event_name != 'pull_request' env: SERVER_URL: ${{ secrets.SERVER_URL }} - API_KEY: ${{ secrets.SERVER_KEY }} + API_KEY: ${{ secrets.SERVER_KEY1 }} run: | curl -H "x-api-key: $API_KEY" -H "event: ${{github.event_name}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json.bz2" $SERVER_URL/upload From ae34b7011cbc3bd4bfa2954039221d04257c1aad Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Mon, 30 Sep 2024 21:56:01 +0200 Subject: [PATCH 30/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index 855aed1c10..551080d551 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -56,6 +56,6 @@ jobs: - name: "Submit data to server" env: SERVER_URL: ${{ secrets.SERVER_URL }} - API_KEY: ${{ secrets.SERVER_KEY }} + API_KEY: ${{ secrets.SERVER_KEY1 }} run: | curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.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 From 595799a19b50b4edf2f9f6b50f92d1a73ddc62da Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Mon, 30 Sep 2024 22:16:48 +0200 Subject: [PATCH 31/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a2f2bcf10..df1d84d085 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ our [2023 book chapter](https://ad-publications.cs.uni-freiburg.de/CHAPTER_knowl QLever aims at full SPARQL 1.1 support and is almost there. In particular, a first version of SPARQL 1.1 Federated Query (SERVICE) is implemented since [PR #793](https://github.com/ad-freiburg/qlever/pull/793) and a proof of concept for SPARQL 1.1 Update is implemented since [PR #916](https://github.com/ad-freiburg/qlever/pull/916). If you find a bug in QLever or in one of our demos or if you are missing a feature, please [open an issue](https://github.com/ad-freiburg/qlever/issues). -# Quickstart +# Quickstart WOW Use QLever via the `qlever` script, following the instructions on https://github.com/ad-freiburg/qlever-control . The script allows you to control all things QLever does, with all the configuration in one place, the so-called `Qleverfile`. From e342da57e21080f45f6b2e282e84adb1c622e2cb Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Tue, 8 Oct 2024 10:41:52 +0200 Subject: [PATCH 32/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df1d84d085..bbc2d34035 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ our [2023 book chapter](https://ad-publications.cs.uni-freiburg.de/CHAPTER_knowl QLever aims at full SPARQL 1.1 support and is almost there. In particular, a first version of SPARQL 1.1 Federated Query (SERVICE) is implemented since [PR #793](https://github.com/ad-freiburg/qlever/pull/793) and a proof of concept for SPARQL 1.1 Update is implemented since [PR #916](https://github.com/ad-freiburg/qlever/pull/916). If you find a bug in QLever or in one of our demos or if you are missing a feature, please [open an issue](https://github.com/ad-freiburg/qlever/issues). -# Quickstart WOW +# Quickstart WOW WOW DOCKER Use QLever via the `qlever` script, following the instructions on https://github.com/ad-freiburg/qlever-control . The script allows you to control all things QLever does, with all the configuration in one place, the so-called `Qleverfile`. From ace445712a127cb836e0c8a0bd06b94b2fd99f1d Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:50:41 +0200 Subject: [PATCH 33/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 48 ++++++++++++--------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index c14ea61a78..df0f101f11 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -14,13 +14,32 @@ jobs: 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" -eq 400 ]; then + echo "Server responded with status 400. Failing the workflow." + exit 1 + fi - name: Checkout sparql-test-suite-files uses: actions/checkout@v3 with: @@ -30,7 +49,7 @@ jobs: uses: actions/checkout@v3 with: repository: "SIRDNARch/qlever-conformance-tests" - token: ${{ secrets.REPO_ACCESS_TOKEN }} + token: ${{ secrets.CONFORMANCE_REPO_ACCESS_TOKEN }} path: qlever-test-suite - name: Set up Python uses: actions/setup-python@v4 @@ -52,8 +71,10 @@ jobs: 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 - run: cmake --build ${{github.workspace}}/qlever-code/build --config ${{env.build-type}} -- -j $(nproc) + - 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 @@ -61,30 +82,17 @@ jobs: python testsuite.py extract python testsuite.py ${{ github.sha }} cd .. -# Only upload directly if this is not a pull request. In this -# case we are on the master branch and have access to the token. - - name: "Submit data to server" - if: github.event_name != 'pull_request' - env: - SERVER_URL: ${{ secrets.SERVER_URL }} - API_KEY: ${{ secrets.SERVER_KEY1 }} - run: | - curl -H "x-api-key: $API_KEY" -H "event: ${{github.event_name}}" -H "sha: ${{github.sha}}" -F "file=@${{github.workspace}}/qlever-test-suite/results/${{ github.sha }}.json.bz2" $SERVER_URL/upload - -# For a pull request we store the file as well as some information -# about this PR (number, how to check it out, etc.) and upload it as an artifact - - name: Save PR number and coverage file in same directory - if: github.event_name == 'pull_request' - # Note: If you change any of the filenames here, you also have to change them in `upload-coverage.yml` + - name: Save workflow information and conformance result file in same directory + # 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 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 - if: github.event_name == 'pull_request' uses: actions/upload-artifact@v3 with: name: conformance-report From 41de4c3c6d89c2556e962acf224cf646ca8803c0 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:51:05 +0200 Subject: [PATCH 34/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index 551080d551..fce7808f7f 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -10,10 +10,11 @@ on: 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.event == 'pull_request' && - github.event.workflow_run.conclusion == 'success' + if: github.event.workflow_run.conclusion == 'success' steps: - name: 'Download artifact' uses: actions/github-script@v6 @@ -40,6 +41,8 @@ jobs: 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" @@ -54,8 +57,5 @@ jobs: # be overwritten. We then move all the files back into the working # directory such that Codecov will pick them up properly. - name: "Submit data to server" - env: - SERVER_URL: ${{ secrets.SERVER_URL }} - API_KEY: ${{ secrets.SERVER_KEY1 }} run: | - curl -H "x-api-key: $API_KEY" -H "event: ${{github.event.workflow_run.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 + 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 From bf7403ee6d876031a89c77f23e40cb4695f73999 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:03:11 +0200 Subject: [PATCH 35/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bbc2d34035..d0e4dd7489 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ our [2023 book chapter](https://ad-publications.cs.uni-freiburg.de/CHAPTER_knowl QLever aims at full SPARQL 1.1 support and is almost there. In particular, a first version of SPARQL 1.1 Federated Query (SERVICE) is implemented since [PR #793](https://github.com/ad-freiburg/qlever/pull/793) and a proof of concept for SPARQL 1.1 Update is implemented since [PR #916](https://github.com/ad-freiburg/qlever/pull/916). If you find a bug in QLever or in one of our demos or if you are missing a feature, please [open an issue](https://github.com/ad-freiburg/qlever/issues). -# Quickstart WOW WOW DOCKER +# Quickstart WOW WOW DOCKER WOW Use QLever via the `qlever` script, following the instructions on https://github.com/ad-freiburg/qlever-control . The script allows you to control all things QLever does, with all the configuration in one place, the so-called `Qleverfile`. From e2a733ef1918f83b4d68fc6fa3dfb341f6c03f00 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:04:43 +0200 Subject: [PATCH 36/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index df0f101f11..77e386651e 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -31,7 +31,7 @@ jobs: -H "sha: ${{ github.sha }}" \ -H "test: test" \ -F "file=@${{ github.workspace }}/test.json" \ - $SERVER_URL/upload + $SERVER_URL/upload) echo "Server response:" cat temp_response.txt From cc9aa3e80066dec754b1bbf79924c62b145aef1d Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:10:26 +0200 Subject: [PATCH 37/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 77e386651e..264c883c37 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -49,7 +49,7 @@ jobs: uses: actions/checkout@v3 with: repository: "SIRDNARch/qlever-conformance-tests" - token: ${{ secrets.CONFORMANCE_REPO_ACCESS_TOKEN }} + token: ${{ secrets.REPO_ACCESS_TOKEN }} path: qlever-test-suite - name: Set up Python uses: actions/setup-python@v4 From cbb6a31e796cf30874492e1d7796aa08ee88a097 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 16:37:34 +0200 Subject: [PATCH 38/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 264c883c37..51276d5bf4 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -36,8 +36,8 @@ jobs: echo "Server response:" cat temp_response.txt echo "HTTP Status: $response" - if [ "$response" -eq 400 ]; then - echo "Server responded with status 400. Failing the workflow." + 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 @@ -82,7 +82,7 @@ jobs: python testsuite.py extract python testsuite.py ${{ github.sha }} cd .. - - name: Save workflow information and conformance result file in same directory + - 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 @@ -90,6 +90,14 @@ jobs: 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 == 'master' + 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 From 256e982260e05dc1485f0b6ed4b71a15c75a6925 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:02:03 +0200 Subject: [PATCH 39/44] Update run-sparql-test-suite.yml --- .github/workflows/run-sparql-test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-sparql-test-suite.yml b/.github/workflows/run-sparql-test-suite.yml index 51276d5bf4..e4fb6bce34 100644 --- a/.github/workflows/run-sparql-test-suite.yml +++ b/.github/workflows/run-sparql-test-suite.yml @@ -91,7 +91,7 @@ jobs: 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 == 'master' + 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 From b4def8f3c2437193ac545f07f6d57a77e3b781e2 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 10 Oct 2024 10:29:29 +0200 Subject: [PATCH 40/44] Update run-sparql-test-suite.yml From 1da827746f1b85e0611f461cb5077fe178939ab2 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 10 Oct 2024 10:30:17 +0200 Subject: [PATCH 41/44] Update upload-conformance.yml --- .github/workflows/upload-conformance.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/upload-conformance.yml b/.github/workflows/upload-conformance.yml index fce7808f7f..8861dfe75b 100644 --- a/.github/workflows/upload-conformance.yml +++ b/.github/workflows/upload-conformance.yml @@ -2,8 +2,6 @@ name: Upload conformance tests result on: workflow_run: - # This has to be the `name:` of the workflow in `code_coverage.yml`. - # Start when this workflow has finished successfully. workflows: [sparql-test-suite] types: - completed @@ -18,9 +16,6 @@ jobs: steps: - name: 'Download artifact' uses: actions/github-script@v6 - # The following script is taken from the link stated at the - # beginning of this file. It manually downloads an artifact - # from another workflow. with: script: | var artifacts = await github.rest.actions.listWorkflowRunArtifacts({ @@ -51,11 +46,6 @@ jobs: run: echo "commit_sha=`cat sha`" >> $GITHUB_ENV; - name: "Read Github Repository" run: echo "original_github_repository=`cat github_repository`" >> $GITHUB_ENV; - # We have to check out the source code from the PR, otherwise Codecov - # won't process the upload properly. We first check it out into a - # subdirectory `qlever-source`, otherwise the coverage report will - # be overwritten. We then move all the files back into the working - # directory such that Codecov will pick them up properly. - 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 From 351eb08465a1939b9e5213121ee5d0af223fff9b Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Thu, 10 Oct 2024 10:34:17 +0200 Subject: [PATCH 42/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d0e4dd7489..1bd2b2dbd5 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ our [2023 book chapter](https://ad-publications.cs.uni-freiburg.de/CHAPTER_knowl QLever aims at full SPARQL 1.1 support and is almost there. In particular, a first version of SPARQL 1.1 Federated Query (SERVICE) is implemented since [PR #793](https://github.com/ad-freiburg/qlever/pull/793) and a proof of concept for SPARQL 1.1 Update is implemented since [PR #916](https://github.com/ad-freiburg/qlever/pull/916). If you find a bug in QLever or in one of our demos or if you are missing a feature, please [open an issue](https://github.com/ad-freiburg/qlever/issues). -# Quickstart WOW WOW DOCKER WOW +# Quickstart WOW WOW DOCKER WOW TEST Use QLever via the `qlever` script, following the instructions on https://github.com/ad-freiburg/qlever-control . The script allows you to control all things QLever does, with all the configuration in one place, the so-called `Qleverfile`. From 5a8f3d8fe57c297bdecde3e6c0cf557883ff3f87 Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Sat, 12 Oct 2024 11:12:27 +0200 Subject: [PATCH 43/44] Test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bd2b2dbd5..c0e0cba07d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ our [2023 book chapter](https://ad-publications.cs.uni-freiburg.de/CHAPTER_knowl QLever aims at full SPARQL 1.1 support and is almost there. In particular, a first version of SPARQL 1.1 Federated Query (SERVICE) is implemented since [PR #793](https://github.com/ad-freiburg/qlever/pull/793) and a proof of concept for SPARQL 1.1 Update is implemented since [PR #916](https://github.com/ad-freiburg/qlever/pull/916). If you find a bug in QLever or in one of our demos or if you are missing a feature, please [open an issue](https://github.com/ad-freiburg/qlever/issues). -# Quickstart WOW WOW DOCKER WOW TEST +# Quickstart WOW WOW DOCKER WOW TEST TEST Use QLever via the `qlever` script, following the instructions on https://github.com/ad-freiburg/qlever-control . The script allows you to control all things QLever does, with all the configuration in one place, the so-called `Qleverfile`. From accdd3447aea0a929effe5773216e8c2466cdcef Mon Sep 17 00:00:00 2001 From: Rico Andris <58331483+SIRDNARch@users.noreply.github.com> Date: Sat, 12 Oct 2024 11:14:12 +0200 Subject: [PATCH 44/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c0e0cba07d..7a2f2bcf10 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ our [2023 book chapter](https://ad-publications.cs.uni-freiburg.de/CHAPTER_knowl QLever aims at full SPARQL 1.1 support and is almost there. In particular, a first version of SPARQL 1.1 Federated Query (SERVICE) is implemented since [PR #793](https://github.com/ad-freiburg/qlever/pull/793) and a proof of concept for SPARQL 1.1 Update is implemented since [PR #916](https://github.com/ad-freiburg/qlever/pull/916). If you find a bug in QLever or in one of our demos or if you are missing a feature, please [open an issue](https://github.com/ad-freiburg/qlever/issues). -# Quickstart WOW WOW DOCKER WOW TEST TEST +# Quickstart Use QLever via the `qlever` script, following the instructions on https://github.com/ad-freiburg/qlever-control . The script allows you to control all things QLever does, with all the configuration in one place, the so-called `Qleverfile`.