Skip to content

Conversation

@hannahbast
Copy link
Member

As part of building the Docker image, the qlever command-line tool is installed. So far, the version of this script was not fixed, which led to random behavior due to caching issue. Now it is fixed to a version that is compatible with the master.

On the side, improve the help message shown when running docker run adfreiburg/qlever without arguments.

As part of building the Docker image, the `qlever` command-line tool is
installed. So far, the version of this script was not fixed, which led
to random behavior due to caching issue. Now it is fixed to a version
that is compatible with the master.

On the side, improve the help message shown when running `docker run
adfreiburg/qlever` without arguments.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the version of the qlever command-line tool installed in the Docker image and improves the help message displayed when running the container without proper arguments. The version is pinned to 0.5.35 to avoid caching issues and ensure compatibility with the master branch.

Key Changes

  • Pin qlever CLI tool version to 0.5.35 in the Dockerfile
  • Rewrite the help message to better explain the recommended usage pattern (using the external CLI tool)
  • Update Docker image references from qlever to the full image name adfreiburg/qlever

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
Dockerfile Pins the qlever package installation to version 0.5.35 to prevent caching issues
docker-entrypoint.sh Rewrites the help message to emphasize using the external qlever CLI tool and simplifies the container usage instructions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

# Help message that is printed if the container is not startes as recommended.
HELP_MESSAGE='
The recommended way to run a container with this image is as follows. Run in a fresh directory. Add `-p <outside port>:<inside port>` if you want to expose ports. Inside the container, the `qlever` command-line tool is available, as well as the QLever binaries (which you need not call directly, they are called by the various `qlever` commands).
The recommended way to use is this image is with the `qlever` command-line tool, which can be installed with `pip install qlever`, `pipx install qlever`, or `uv tool install qlever`. Commands like `qlever index` or `qlever start` use the QLever Docker image by default (and will pull the right image if necessary).
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar error: "to use is this image is" should be "to use this image is". The word "is" appears twice.

Copilot uses AI. Check for mistakes.
\x1b[34mdocker run -it --rm -e UID=$(id -u) -e GID=$(id -g) -v $(pwd):/data -w /data adfreiburg/qlever\x1b[0m
It also works with `-u $(id -u):$(id -g)` (but then the user inside the container has no proper name):
If you do not care about the user inside of the container, you can also use `-u $(id -u):$(id -g)` instead of `-e UID=... -e GID=...` (then the use inside of the container has no proper name) or omit this part (then the user inside of the container is `root`).
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "the use inside of the container" should be "the user inside of the container" (missing 'r').

Copilot uses AI. Check for mistakes.
@codecov
Copy link

codecov bot commented Dec 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.21%. Comparing base (65f62c7) to head (465e150).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2605      +/-   ##
==========================================
+ Coverage   91.19%   91.21%   +0.02%     
==========================================
  Files         473      475       +2     
  Lines       40392    40497     +105     
  Branches     5393     5409      +16     
==========================================
+ Hits        36835    36939     +104     
- Misses       2015     2018       +3     
+ Partials     1542     1540       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sparql-conformance
Copy link

Overview

Number of Tests Passed ✅ Intended ✅ Failed ❌ Not tested
525 440 67 18 0

Conformance check passed ✅

No test result changes.

Details: https://qlever.dev/sparql-conformance-ui?cur=465e150b725bd9a095186077d8dcc2e69b69442c&prev=959c50df8c651efdb17c995680071cb8aeb3467e

@sonarqubecloud
Copy link

# Help message that is printed if the container is not startes as recommended.
HELP_MESSAGE='
The recommended way to run a container with this image is as follows. Run in a fresh directory. Add `-p <outside port>:<inside port>` if you want to expose ports. Inside the container, the `qlever` command-line tool is available, as well as the QLever binaries (which you need not call directly, they are called by the various `qlever` commands).
The recommended way to use this image is with the `qlever` command-line tool, which can be installed with `pip install qlever`, `pipx install qlever`, or `uv tool install qlever`. Commands like `qlever index` or `qlever start` use the QLever Docker image by default (and will pull the right image if necessary).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will pull the right image if necessary

For some users it might be confusing that if a qlever:latest image already exists locally (regardless of age) no new image is pulled and they have to pull it manually if they want a more up-to-date version.

\x1b[34mpodman run -it --rm -u $(id -u):$(id -g) --userns=keep-id -v $(pwd):/data -w /data qlever\x1b[0m
\x1b[34mpodman run -it --rm -u $(id -u):$(id -g) --userns=keep-id -v $(pwd):/data -w /data qlever -c "..."\x1b[0m
With podman you should use `-u $(id -u):$(id -g)` together with `--userns=keep-id`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's nice that this is documented, but why does it matter to me as a regular user if my user is root, some number or my username?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants