Repository navigation
chore(migration): step 07c build the bagel-cli image from the release… - #11
Merged
Merged
Conversation
… wheel (R3) Replace the bagel-cli Dockerfile with one that installs exactly one pre-built wheel from tools/bagel-cli/dist, allowlist only that wheel, remove Dockerfile.nightly and the obsolete tool-folder .dockerignore, add just build bagel-cli, and document the image in the READMEs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Title:
chore(migration): step 07c build the bagel-cli image from the release wheel (R3)Branch:
migration/step-07cCan be squash-merged or merged; it imports no history.
Summary
tools/bagel-cli/Dockerfileis replaced by the plan's wheel-based Dockerfile. It copiestools/bagel-cli/dist/*.whl, fails unless exactly one wheel is present, andpip installs it; nothing is installed from PyPI or from source.tools/bagel-cli/Dockerfile.dockerignorecontains*and!tools/bagel-cli/dist/*.whl.Dockerfile.nightlyandDockerfile.nightly.dockerignore, plus the obsoletetools/bagel-cli/.dockerignore(see Deviations).just build bagel-clirunsrm -rf tools/bagel-cli/dist,uv build --wheelintools/bagel-cli, thendocker build -f tools/bagel-cli/Dockerfile -t neurobagel/bagelcli:local .from the root.just build bagel-cli, the root build context and the one-wheel check.Checks run
just build bagel-cli;docker run --rm neurobagel/bagelcli:local --versionvs.uv run bagel --versionbagel 0.11.7.dev2145docker run --rm --entrypoint pip neurobagel/bagelcli:local show -f bagelbagel/communities/(51) andbagel/pipeline-catalog/(5)tools/bagel-cli/distRUN test "$(ls /tmp/*.whl | wc -l)" -eq 1 ...(exit code 1)ls tools/bagel-cli/Dockerfile.nightly*grep -rn "pip install --no-cache-dir bagel$" tools/bagel-cliscripts/check-unchanged.shOKjust build api|federation-api|query-tooljust lintDocumentation check: in a fresh
--recurse-submodulesclone of this branch, from the repository root, the README's three local build commands ran verbatim:rm -rf tools/bagel-cli/dist,(cd tools/bagel-cli && uv build --wheel)anddocker build -f tools/bagel-cli/Dockerfile -t neurobagel/bagelcli:local .all succeeded.docker run --rm neurobagel/bagelcli:local --versionprintedbagel 0.11.7.dev2146, which equals the wheel's version.just build bagel-clisucceeded.docker pull neurobagel/bagelclianddocker run --rm neurobagel/bagelcli --helpwork.apptainer pullwas not run (Apptainer is not available locally).Deviations from the plan
tools/bagel-cli/.dockerignore. It served builds with the tool folder as context, is ignored with the root context, and listsdist, the folder the new image builds from. Plan updated.Dockerfile.nightlycheck is now covered here. The single Dockerfile builds an image whose version matchesuv run bagel --version.🤖 Generated with Claude Code