Skip to content

Add doxygen docs to Github Pages#8329

Open
yohannd1 wants to merge 42 commits intoLMMS:masterfrom
yohannd1:doxygen
Open

Add doxygen docs to Github Pages#8329
yohannd1 wants to merge 42 commits intoLMMS:masterfrom
yohannd1:doxygen

Conversation

@yohannd1
Copy link
Copy Markdown
Contributor

@yohannd1 yohannd1 commented Mar 25, 2026

This PR adds a github workflow that runs doxygen on the codebase and uploads the generated HTML pages to Github Pages. My aim with this is to make reading the docs easier and browsing through the documentation simpler.

This workflow was based off the build workflow already present in the repo, plus some prior Github Pages experiments I've worked on.

As the workflow depends on access to Github Pages, it's not working in the PR. Meanwhile, you can check it on my fork and its github pages instance.

Things to consider:

@yohannd1
Copy link
Copy Markdown
Contributor Author

Note that the CI run inside the PR does not work fully, as it is denied acess to github pages. Not sure if there's a way to work around that. In fact, I'll be disabling this run on PRs for now.

image

@messmerd
Copy link
Copy Markdown
Member

Following the advice from this Stack Overflow article, I just set the GitHub Pages source for this repo to GitHub Actions.

Try again and see if it works now.

@JohannesLorenz JohannesLorenz self-requested a review March 26, 2026 00:08
@yohannd1
Copy link
Copy Markdown
Contributor Author

That seems to not have worked - it did go farther, but it still has permission-related errors:
image
I will now be trying rossjrw/pr-preview-action, which might be able to solve this.

@messmerd
Copy link
Copy Markdown
Member

messmerd commented Mar 26, 2026

I will now be trying rossjrw/pr-preview-action, which might be able to solve this.

I don't think that will work, unless we set things up differently here.

From that action's readme:
image

@yohannd1
Copy link
Copy Markdown
Contributor Author

Ah, I see. From what I've read here it seems it is possible to adapt the workflow here, but I'm not sure if it would be worth it - pushing tons of generated HTML and graph files of tons of PRs is probably going to bloat the repo a lot.

Copy link
Copy Markdown
Contributor

@JohannesLorenz JohannesLorenz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I checked:

  • Code
  • Style

Comment thread .github/workflows/doxygen.yml Outdated
Comment thread .github/workflows/doxygen.yml
run: |
cmake --build fltk/build
sudo cmake --install fltk/build --prefix /usr
- name: Configure
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lot of classes/types by Doxygen (almost all) are not by us (Lv2, Sord, Asio, Calf, ...).

As you said in Discord, you would like to keep it. I leave the comment here for discussion.

Comment thread .github/workflows/doxygen.yml
@yohannd1
Copy link
Copy Markdown
Contributor Author

yohannd1 commented Apr 4, 2026

I've now specified a main page, as it before was showing the FLAC API main page. We should probably make a specific main page for the code docs, but for now I put the repo's README.md file as the main page:
image

Comment thread .github/workflows/doxygen.yml Outdated
Comment thread .github/workflows/doxygen.yml Outdated
Comment thread .github/workflows/doxygen.yml Outdated
Copy link
Copy Markdown
Contributor

@rubiefawn rubiefawn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did some local testing and it looks like we can get rid of the old relative path hacks by just using @CMAKE_SOURCE_DIR@ instead.

Comment thread doc/Doxyfile.in Outdated
Comment thread doc/Doxyfile.in Outdated
@yohannd1
Copy link
Copy Markdown
Contributor Author

Oh, nice. Do I apply the changes here? I see you've done something similar but slightly different in #8361.

@rubiefawn
Copy link
Copy Markdown
Contributor

rubiefawn commented Apr 22, 2026

I'll be rebasing #8361 once this PR is merged anyways, so I suppose it doesn't matter that much lol

(The "local testing" got out of control and ended up as that other PR)

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.

4 participants