From 4958f1e3c55ca1380eb53e8b58cbf7dcbd33ada6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:05:25 +0000 Subject: [PATCH 1/5] Initial plan From 0b8bf6923e1903aa20820a990b995f4bae193ade Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:08:08 +0000 Subject: [PATCH 2/5] Make book target survive lack of tests - Remove test as a hard dependency from book target - Add conditional test execution within book target - Tests will run if available but won't block book generation - Fixes issue where book fails if tests don't exist or fail Co-authored-by: tschm <2046079+tschm@users.noreply.github.com> --- book/book.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/book/book.mk b/book/book.mk index 66bdf1b6..e01dc0b9 100644 --- a/book/book.mk +++ b/book/book.mk @@ -94,8 +94,17 @@ docs:: install ## create documentation with pdoc # 1. Aggregates API docs, coverage, test reports, and notebooks into _book. # 2. Generates links.json to define the book structure. # 3. Uses 'minibook' to compile the final HTML site. -book:: test docs marimushka ## compile the companion book +book:: docs marimushka ## compile the companion book @printf "${BLUE}[INFO] Building combined documentation...${RESET}\n" + + # Run tests if test folder exists, but don't fail book if tests fail or don't exist + @if [ -d "${TESTS_FOLDER}" ]; then \ + printf "${BLUE}[INFO] Running tests for book...${RESET}\n"; \ + $(MAKE) test || printf "${YELLOW}[WARN] Tests failed or incomplete, continuing with book generation${RESET}\n"; \ + else \ + printf "${YELLOW}[WARN] No test folder found, skipping tests for book${RESET}\n"; \ + fi + @rm -rf _book && mkdir -p _book @if [ -f "_tests/coverage.json" ]; then \ From cc1d435e23c8a2e21ef0bf8cc1a60c28c9ff3928 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:10:16 +0000 Subject: [PATCH 3/5] Simplify book target test handling - Remove duplicate test folder check - Rely on test target's built-in handling of missing tests - Cleaner and more maintainable code - Addresses code review feedback Co-authored-by: tschm <2046079+tschm@users.noreply.github.com> --- book/book.mk | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/book/book.mk b/book/book.mk index e01dc0b9..4acfaf27 100644 --- a/book/book.mk +++ b/book/book.mk @@ -97,13 +97,8 @@ docs:: install ## create documentation with pdoc book:: docs marimushka ## compile the companion book @printf "${BLUE}[INFO] Building combined documentation...${RESET}\n" - # Run tests if test folder exists, but don't fail book if tests fail or don't exist - @if [ -d "${TESTS_FOLDER}" ]; then \ - printf "${BLUE}[INFO] Running tests for book...${RESET}\n"; \ - $(MAKE) test || printf "${YELLOW}[WARN] Tests failed or incomplete, continuing with book generation${RESET}\n"; \ - else \ - printf "${YELLOW}[WARN] No test folder found, skipping tests for book${RESET}\n"; \ - fi + # Run tests but don't fail book if tests fail or don't exist + @$(MAKE) test || printf "${YELLOW}[WARN] Tests failed or unavailable, continuing with book generation${RESET}\n" @rm -rf _book && mkdir -p _book From 6a970ddfd958e4a83bb10683b0c51417af1defd4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:16:27 +0000 Subject: [PATCH 4/5] Apply same resilience pattern to docs and marimushka targets - Remove docs and marimushka as hard dependencies from book target - Add conditional execution for docs and marimushka with error handling - Book will continue if docs or marimushka fail or are unavailable - Addresses feedback to apply same trick for docs and marimushka Co-authored-by: tschm <2046079+tschm@users.noreply.github.com> --- book/book.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/book/book.mk b/book/book.mk index 4acfaf27..4b9557a6 100644 --- a/book/book.mk +++ b/book/book.mk @@ -94,9 +94,15 @@ docs:: install ## create documentation with pdoc # 1. Aggregates API docs, coverage, test reports, and notebooks into _book. # 2. Generates links.json to define the book structure. # 3. Uses 'minibook' to compile the final HTML site. -book:: docs marimushka ## compile the companion book +book:: install-uv ## compile the companion book @printf "${BLUE}[INFO] Building combined documentation...${RESET}\n" + # Run docs but don't fail book if docs fail or are unavailable + @$(MAKE) docs || printf "${YELLOW}[WARN] Docs generation failed or unavailable, continuing with book generation${RESET}\n" + + # Run marimushka but don't fail book if marimushka fails or is unavailable + @$(MAKE) marimushka || printf "${YELLOW}[WARN] Marimushka export failed or unavailable, continuing with book generation${RESET}\n" + # Run tests but don't fail book if tests fail or don't exist @$(MAKE) test || printf "${YELLOW}[WARN] Tests failed or unavailable, continuing with book generation${RESET}\n" From ba8df98db34b2eb83352b0be16fa1b20d8fd8554 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:17:41 +0000 Subject: [PATCH 5/5] Standardize warning message terminology - Use consistent phrasing across all three targets - All warnings now say "failed or unavailable" - Improves code consistency and readability Co-authored-by: tschm <2046079+tschm@users.noreply.github.com> --- book/book.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/book/book.mk b/book/book.mk index 4b9557a6..742f58ea 100644 --- a/book/book.mk +++ b/book/book.mk @@ -98,12 +98,12 @@ book:: install-uv ## compile the companion book @printf "${BLUE}[INFO] Building combined documentation...${RESET}\n" # Run docs but don't fail book if docs fail or are unavailable - @$(MAKE) docs || printf "${YELLOW}[WARN] Docs generation failed or unavailable, continuing with book generation${RESET}\n" + @$(MAKE) docs || printf "${YELLOW}[WARN] Docs failed or unavailable, continuing with book generation${RESET}\n" # Run marimushka but don't fail book if marimushka fails or is unavailable - @$(MAKE) marimushka || printf "${YELLOW}[WARN] Marimushka export failed or unavailable, continuing with book generation${RESET}\n" + @$(MAKE) marimushka || printf "${YELLOW}[WARN] Marimushka failed or unavailable, continuing with book generation${RESET}\n" - # Run tests but don't fail book if tests fail or don't exist + # Run tests but don't fail book if tests fail or are unavailable @$(MAKE) test || printf "${YELLOW}[WARN] Tests failed or unavailable, continuing with book generation${RESET}\n" @rm -rf _book && mkdir -p _book