feat: Add test suite, depersonalize examples, and fix optional fields#1
Merged
Conversation
…e Docker integration, and enhance README with new usage instructions
…and include additional VS Code extension
…d letter templates
…te-object in CV and letter templates
…te usage instructions in build script
…nd enhance test execution
…w for private data, update examples for better structure and clarity
…t completion of Phase 1, enhance testing details, and clarify development environment setup
… and add Bats testing framework
…refix for consistency across typst and lua files
…s, refactor filter tests, and implement new CV fixture to validate absence of optional footer links.
…ation - Create Dockerfile to install fonts using fontist - Update devcontainer.json to reference the new Dockerfile and adjust context - Add devcontainer.env to .gitignore - Introduce fontist-manifest.yml for font management - Modify style.typ to set font weight for strong text
- Added poppler-utils to Dockerfile for additional functionality. - Set up local Typst package symlink for development in Dockerfile. - Updated Typst templates to use local package functions and improved comments for clarity.
… improved development setup
…eamline build stages, and enhance project file organization
…triction, and improve output path logic for better error handling and clarity
…ce internal test execution, and clarify comments
…usage tests on host runner
… resolve linter errors in the release job
… update submodule URLs to latest versions
…system-installed Bats
…ow as submodules are no longer used for testing dependencies
…o postCreateCommand in devcontainer.json
…documentation for resolved issues
… dedicated subdirectory
…ve template and Lua filter names
…ration and update Justfile for new test structure
…solutions and E2E test standardization
…itional production image push, and update Docker login steps
…tag is always pushed to GHCR
…g for cache management, ensuring consistent updates to the ':latest' tag during PR builds.
…ing with Trivy, and Dependabot configuration
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.
This PR implements the first phase of improvements, focusing on project robustness, maintainability, and general usability.
Key Changes:
build.shusing Bats (tests/unit/).linkify.lua,typst-cv.lua) using Bats (tests/filter/).tests/test_e2e.sh) verifying PDF generation and basic content checks usingpdftotext.tests/bats,tests/test_helper).kadykov-*.md,photo.jpg) with generic fixtures (example-cv.md,example-letter.md,example-cv-no-optional.md) using placeholder data.tests/fixtures/placeholder-photo.png).style.typfor optional fields (website, github, gitlab, linkedin) from"default"tonone.style.typfooter to only display links/icons for these fields if they are actually provided (notnone).example-cv-no-optional.md) to verify this fix usingpdftotext..github/workflows/ci.yml) to execute the new test suites (unit, filter, e2e) within the built Docker container.poppler-utils(forpdftotext) to theDockerfile.justfilewith recipes for common tasks like running linters (just lint), individual test suites (just test-unit, etc.), all tests (just test), and building examples (just build-examples).shellcheckto the pre-commit configuration (.pre-commit-config.yaml) and addressed reported warnings in shell scripts using directives where necessary.README.mdto reflect the new examples and clarify usage guidelines (heading structure, linkification, overrides).typst-cv.typ,typst-letter.typ) to correctly handle structured YAML dates and use direct imports forstyle.typ.activeContext.md,progress.md,techContext.md).Notes:
--output-format typstfeature forbuild.shwas reverted due to persistent difficulties in reliably testing the generated.typoutput via the script. Testing currently relies on filter tests and E2E PDF checks.typst-cv.lua(fixing function names, adding generic side content, etc.) have been noted but postponed to a future phase.This work establishes a solid foundation with automated checks, making future development safer and easier.