Repository navigation
feat: add Docker environment for parser demo and tests - #25
Merged
Merged
Conversation
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.
Add a multi-stage Dockerfile that installs the Rust/native prerequisites, builds the existing quotes_spider with Cargo.lock and runs the compiled parser as UID/GID 10001 in a Debian Bookworm runtime. The default offline mode follows two local fixture pages and exports three quotes to /app/data/quotes.jl. Add an optional
testtarget with compiler/source and the repository/skill/offline example checks.Add .dockerignore, container documentation, an exact JSONL output checker and a path-filtered CI workflow. CI builds the runtime image, executes with
--network none, checks output and confirms the configured non-root user. No image publishing.Validation completed: local existing quotes_spider binary parsed both fixture pages and produced all three expected items; output checker rejected invalid output; Dockerfile structure and workflow YAML parsed; bash syntax, formatting, documentation links and diff whitespace checks passed.
Limitation: this environment has neither Docker nor Podman installed, so an actual image build/container run could not be performed locally. The added CI smoke job performs that verification. Base images and native package downloads require network during build; optional test-feature dependencies may also be fetched during test-image execution.