Skip to content

Run PDF and API documentation builds in parallel - #131

Merged
konard merged 7 commits into
mainfrom
issue-59-86a0170f
Sep 22, 2026
Merged

konard merged 7 commits into
mainfrom
issue-59-86a0170f

Conversation

@konard

@konard konard commented Sep 10, 2025 •

Copy link
Copy Markdown
Member

Summary

Resolve #59 by moving the expensive PDF build off the API-documentation critical path.

  • run PDF generation and DocFX API generation concurrently on separate GitHub-hosted runners
  • upload the PDF and HTML site as independent artifacts
  • make the publishing job join, download, and validate both artifacts before deploying
  • validate the fully assembled site on pull requests without publishing it
  • require that pull-request assembly in the terminal pipeline gate so a skipped validation cannot pass silently
  • keep .github/scripts/publish-csharp-docs.sh as the single repository-owned Pages publisher, preserving other content on gh-pages
  • merge the latest main and remove the draft's unavailable pdf-generation self-hosted label and duplicate publisher

Publication now waits for max(PDF build, API build) instead of PDF build + API build, while still refusing to deploy an incomplete site.

Reproduction and regression coverage

Before the fix, buildDocumentation declared generatePdfWithCode as a dependency, so DocFX could not start until the slow TeX job finished. The updated workflow-policy test reproduced this dependency and failed before the workflow change.

The regression tests now verify that:

  • both build jobs depend only on documentation-input detection
  • both jobs produce their own named artifact
  • the publisher depends on both jobs and downloads both artifacts
  • pull requests download and validate the assembled site without deploying it
  • the terminal gate rejects a skipped pull-request assembly when documentation changed

Verification

  • node --test .github/scripts/*.test.mjs — 31 passed
  • .github/scripts/validate-csharp-package.sh with .NET 8 — clean build, 2 tests passed, package and embedded symbols validated
  • actionlint 1.7.12 — passed
  • shellcheck .github/scripts/*.sh — passed
  • DocFX 2.80.1 with --warningsAsErrors — 0 warnings, 0 errors
  • .github/scripts/generate-csharp-pdf.sh — generated a valid eight-page PDF
  • git diff --check origin/main...HEAD — passed
  • C# CI run 35691240686 — every required job passed, including both documentation builders, assembly validation, and the terminal gate
  • Codacy Static Code Analysis on f3ac75a — passed

Resolves #59

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #59
@konard konard self-assigned this Sep 10, 2025
konard and others added 2 commits September 10, 2025 18:38
- Move PDF generation to self-hosted runners with 'pdf-generation' label for improved performance
- Implement artifact-based workflow to separate heavy PDF processing from documentation deployment
- Create unified documentation publishing script that combines API docs and PDF
- Add graceful fallback when PDF generation is unavailable
- Generate unified landing page with navigation for both API reference and PDF documentation

Fixes #59

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Move PDF generation to another virtual machine to speed up the publication Move PDF generation to dedicated VM and unify documentation publishing Sep 10, 2025
@konard
konard marked this pull request as ready for review September 10, 2025 15:44
@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

Double check everything delivered with highest possible quality, resolve conflicts.

@konard
konard marked this pull request as draft September 22, 2026 04:52
@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

🤖 AI Work Session Started

Starting automated work session at 2026-09-22T04:52:52.836Z

The PR has been converted to draft mode while work is in progress.

This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback.

Runtime: solve v2.29.0 · tool codex · model gpt-5.6-sol · task image konard/hive-mind-dind:2.29.0@sha256:11a236d03854cbaea86fdd7ca06265c912cf0b67d1fcc9b3eb60bd84c43ff749

@konard konard changed the title Move PDF generation to dedicated VM and unify documentation publishing Run PDF and API documentation builds in parallel Sep 22, 2026
@konard
konard marked this pull request as ready for review September 22, 2026 05:20
@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

Codacy needs a maintainer/service retry on the final commit 1f6230d: its source-preparation stage succeeded, but Codacy’s internal Diff and Deltas stages errored and returned ACTION_REQUIRED with zero annotations. The public Codacy report says there are no new or fixed issues, and the immediately preceding analysis (718708d) passed with “Codacy found no issues in your code.” GitHub denied this account permission to re-request the app-owned check (HTTP 404). All repository-owned workflows and CodeQL pass on 1f6230d.

@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $8.391847

📊 Context and tokens usage:

  • 248.7K / 200K (124%) input tokens, 27.8K / 128K (22%) output tokens

Total: (248.7K + 7.0M cached) input tokens, 27.8K output tokens, $8.391847 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.6-sol
  • Thinking level: xhigh (~31999 tokens)
  • Model: GPT-5.6 Sol (gpt-5.6-sol)

📎 Log file uploaded as Gist (3161KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

🔄 Auto-restart 1/5

Reason: CI failures detected

Starting new session to address the issues.


Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations in total.

@konard
konard marked this pull request as draft September 22, 2026 05:27
@konard
konard marked this pull request as ready for review September 22, 2026 05:39
@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

Working session summary

Fixed and finalized PR #131.

  • Codacy now passes on commit f3ac75a.
  • Added regression coverage requiring documentation assembly validation on pull requests.
  • All applicable GitHub Actions and CodeQL checks pass.
  • Local Node, .NET 8, ShellCheck, Actionlint, and whitespace checks pass.
  • Branch includes latest main, is clean and mergeable.
  • PR title/description are updated and the PR is ready for review.

This summary was automatically extracted from the AI working session output.

@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

🔄 Auto-restart-until-mergeable Log 1/5

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $2.244240

📊 Context and tokens usage:

  • 82.0K / 200K (41%) input tokens, 12.8K / 128K (10%) output tokens

Total: (82.0K + 1.5M cached) input tokens, 12.8K output tokens, $2.244240 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.6-sol
  • Model: GPT-5.6 Sol (gpt-5.6-sol)

📎 Log file uploaded as Gist (4417KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
konard merged commit 5f1336c into main Sep 22, 2026
16 checks passed
@konard

konard commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

🎉 Auto-merged

This pull request has been automatically merged by hive-mind.

  • All CI checks have passed

Auto-merged by hive-mind with --auto-merge flag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move PDF generation to another virtual machine to speed up the publication

1 participant