Publish MFIIDD API reference at /api#49
Conversation
Co-authored-by: sbfnk <sebastian.funk@lshtm.ac.uk>
WalkthroughThe build-and-deploy workflow was updated to instantiate the docs Julia project, run docs/make.jl to build the API reference, and copy the generated docs/build output into _site/api before site upload and deployment. Correspondingly, docs/make.jl no longer includes its own deploydocs configuration. ChangesAPI Reference Build Integration
Sequence Diagram(s)sequenceDiagram
participant Workflow as build-and-deploy.yml
participant Julia
participant Site as _site directory
participant Pages as GitHub Pages
Workflow->>Julia: Instantiate docs project
Workflow->>Julia: Run docs/make.jl
Julia-->>Workflow: Generate docs/build (API reference)
Workflow->>Site: Copy docs/build to _site/api
Workflow->>Site: Upload website artefact
Workflow->>Pages: Deploy site
Related issues: Suggested labels: documentation, ci Suggested reviewers: sbfnk 🐰 A hop, a build, a copy so neat, 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/build-and-deploy.yml (1)
42-46: 🚀 Performance & Scalability | 🔵 Trivial | 💤 Low valueConsider caching the Julia depot for the docs environment.
Every run re-resolves and instantiates
docs's dependencies from scratch. Usingjulia-actions/cachealongsidejulia-actions/setup-juliawould speed up CI without behavioural change.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/build-and-deploy.yml around lines 42 - 46, The docs build job currently reinstantiates the Julia docs environment on every run, slowing CI unnecessarily. Update the workflow to cache the Julia depot for the docs environment by adding julia-actions/cache alongside julia-actions/setup-julia in the docs build job. Keep the existing docs/make.jl and Pkg.instantiate steps, but ensure the cache is keyed to the docs project so dependency resolution is reused across runs.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/build-and-deploy.yml:
- Around line 42-50: The API reference build steps in the deploy workflow are
currently hard-failing the whole site deployment if `docs/make.jl` or the copy
step breaks. Update the `deploy` job around `Instantiate docs environment`,
`Build API reference`, and `Bundle API reference into site` so the API build is
isolated from the main Quarto site publish path, using `continue-on-error: true`
with a warning/fallback or moving the API build into a separate job/artifact.
Keep the `Upload website` and `Deploy to GitHub pages` steps able to run even
when the API reference generation fails.
---
Nitpick comments:
In @.github/workflows/build-and-deploy.yml:
- Around line 42-46: The docs build job currently reinstantiates the Julia docs
environment on every run, slowing CI unnecessarily. Update the workflow to cache
the Julia depot for the docs environment by adding julia-actions/cache alongside
julia-actions/setup-julia in the docs build job. Keep the existing docs/make.jl
and Pkg.instantiate steps, but ensure the cache is keyed to the docs project so
dependency resolution is reused across runs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3eb7e4e8-536b-41db-9d3f-991575c12d4b
📒 Files selected for processing (2)
.github/workflows/build-and-deploy.ymldocs/make.jl
💤 Files with no reviewable changes (1)
- docs/make.jl
Wires up the Documenter skeleton (#44) so the built API reference actually
appears on the deployed site at
sbfnk.github.io/mfiidd/api/.quarto render, instantiatedocs/, rundocs/make.jl,and copy
docs/build/into_site/api/. The existing gh-pages deploystep then pushes the combined tree in one commit — no separate workflow
and no
clean/subpath conflict.docs/make.jl: drop thedeploydocs(...)block. The Pages action doesthe deploy, so Documenter's own push mechanism is redundant.
Verified locally:
julia --project=docs docs/make.jlwrites all 18exported symbols' docstrings to
docs/build/api/index.html.This PR closes #47.
Summary by CodeRabbit