Conversation
…cape into lucene-keyword-index
…cape into lucene-keyword-index
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.
Implements a pylucene based keyword index and introduces a dev container first workflow.
CONTRIBUTOR.md updated to reflect workflow with dev container.
We build a base image based off
python-3.11.14-trixie(Debian stable) that contains python, pylucene, and poetry. The base image is pushed to GitHub Container Register (ghcr) by a new actions workflow. Pushes to main result in a image tagged with the python, pylucene, and poetry versions.We extend the base image to produce a built image that includes the all of the app code. This can be launched either as the server, or to run embedding scripts. A docker compose sample is included to demonstrate server capabilities.
The base image is also now used in the CI pipeline, to support testing the pylucene keyword index.
Finally, we extend the base image to create a dev container image that VS Code can attach to, with the same versioning and configuration as the CI pipeline and the built image.
Development without using a dev container is unaffected. The poetry environments are kept separate, and there are no other changes. Attempting to use lucene outside of the dev container causes an exception, so some tests will fail, but otherwise the original developer experience is unaffected.
A second PR will be necessary after this one is merged and the ci/cd pipeline completes to remove the branch name from all of the base image references. Currently they point back to images built on this working branch, they will be swapped for main, once a main image is built.
I combined the existing two embedding and server dockerfiles into a single primary dockerfile. There's no reason to build two basically identical images as we can specify the entrypoint when starting the container.