Skip to content

pages build and deployment #3

pages build and deployment

pages build and deployment #3

Triggered via dynamic January 13, 2026 07:33
Status Failure
Total duration 28s
Artifacts

pages-build-deployment

on: dynamic
report-build-status
4s
report-build-status
deploy
deploy
Fit to window
Zoom out
Zoom in

Annotations

1 error
build
Logging at level: debug GitHub Pages: github-pages v232 GitHub Pages: jekyll v3.10.0 Theme: jekyll-theme-primer Theme source: /usr/local/bundle/gems/jekyll-theme-primer-0.6.0 Requiring: jekyll-github-metadata Requiring: jekyll-seo-tag Requiring: jekyll-coffeescript Requiring: jekyll-commonmark-ghpages Requiring: jekyll-gist Requiring: jekyll-github-metadata Requiring: jekyll-paginate Requiring: jekyll-relative-links Requiring: jekyll-optional-front-matter Requiring: jekyll-readme-index Requiring: jekyll-default-layout Requiring: jekyll-titles-from-headings GitHub Metadata: Initializing... Source: /github/workspace/. Destination: /github/workspace/./_site Incremental build: disabled. Enable with --incremental Generating... Generating: JekyllOptionalFrontMatter::Generator finished in 0.001104304 seconds. Generating: JekyllReadmeIndex::Generator finished in 0.002809056 seconds. Generating: Jekyll::Paginate::Pagination finished in 3.857e-06 seconds. GitHub Metadata: Generating for pavelsr/awesomecv_jinja GitHub Metadata: Calling @client.pages("pavelsr/awesomecv_jinja", {}) Generating: JekyllRelativeLinks::Generator finished in 0.169126378 seconds. Generating: JekyllDefaultLayout::Generator finished in 0.002625764 seconds. Requiring: kramdown-parser-gfm Generating: JekyllTitlesFromHeadings::Generator finished in 0.024638225 seconds. Rendering: assets/css/style.scss Pre-Render Hooks: assets/css/style.scss Rendering Markup: assets/css/style.scss Rendering: AGENTS.md Pre-Render Hooks: AGENTS.md Rendering Liquid: AGENTS.md github-pages 232 | Error: Liquid syntax error (line 345): Variable '{{` and `{%` conflict. **Custom delimiters:** ``` ((( name ))) — variables ((* if ... *)) — blocks ((# ... #)) — comments ``` **Whitespace control:** Use `-` to remove whitespace when needed: ```jinja ((* if condition -*)) content ((*- endif *)) ``` ### Exception Hierarchy ```python AwesomeCVJinjaError # Base exception ├── TemplateNotFoundError # Template not found ├── DocumentTypeNotFoundError # Invalid doc_type ├── RenderError # Rendering failed └── CompilationError # PDF compilation failed ``` --- ## 4. Testing Instructions ### Test Structure ``` tests/ ├── conftest.py # Shared fixtures (resume_data, cv_data, etc.) ├── test_samples.py # Sample data tests ├── unit/ # Unit tests (no external deps) │ ├── test_compiler.py │ ├── test_config.py │ └── test_renderer.py └── integration/ # Integration tests (may need xelatex/docker) └── test_pipeline.py ``` ### Writing Tests ```python # Use fixtures from conftest.py def test_render_resume(resume_data): """Descriptive docstring""" renderer = Renderer() result = renderer.render("resume", resume_data) assert isinstance(result, str) assert resume_data["first_name"] in result assert r"\documentclass" in result # Test exceptions def test_invalid_template_raises_error(): with pytest.raises(TemplateNotFoundError, match="not found"): Renderer(template="nonexistent") # Test file output def test_render_to_file(resume_data, tmp_render_dir): renderer = Renderer() output_path = tmp_render_dir / "test.tex" renderer.render("resume", resume_data, output=output_path) assert output_path.exists() ``` ### Test Naming Convention ```python class TestRendererInit: # Group by class/function def test_init_with_default_template(self): """Initializes with default awesome_cv template""" ... def test_init_with_invalid_template_raises_error(self): """Raises TemplateNotFoundError for invalid template""" ... ``` ### Running Specific Tests ```bash # Run all tests uv run pytest # Run unit tests only uv run pytest tests/unit/ # Run specific test class uv run pytest tests/unit/test_renderer.py::TestRendererRender # Run specific test uv run pytest tests/unit/test_renderer.py::TestRendererRender::test_render_returns_string ``` --- ## 5. Security Considerations ### LaTeX Escaping **Always escape user input** with `latex_escape` filter: ```jinja ((( user_text | latex_escape ))) ``` Escapes: `& % $ # _ { }' was not properly terminated with regexp: /\}\}/