Commit Graph

5 Commits (master)

Author SHA1 Message Date
Pierre Le Marre 2c86216b5b CI: Fix documentation generation for macOS
- Force Doxygen version 1.9.6, because 1.9.7 breaks our doc cool URIs,
  i.e. our system that maintain stable doc pages via redirection.

  Associated issue in Doxygen:
  https://github.com/doxygen/doxygen/issues/10146

- Install graphviz to build the .dot files.
2023-06-26 09:50:01 +02:00
Wismill 64aaa7cda2
Add support for stable doc URLs (#342)
Doc URLs may change with time because they depend on Doxygen machinery.
This is unfortunate because it is good practice to keep valid URLs
(see: https://www.w3.org/Provider/Style/URI.html).

I could not find a built-in solution in Doxygen, so the solution proposed
here is to maintain a registry of all URLs and manage legacy URLs as
redirections to their canonical page.

This commit adds a registry of URLs that has three functions:
- Check no previous URL is now invalid.
- Add aliases for moved pages.
- Generate redirection pages for aliases. The redirection works with
  a simple <meta http-equiv="refresh"> HTML tag. See:
  https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#http-equiv

This commit also initialize the URLs registry with current pages and some
redirections needed after recent documentation refactoring.

Finally, the CI is updated to catch any change that invalidate previous
URLs.
2023-05-14 15:11:15 +02:00
Ran Benita c8efb70406 ci: bump runs-on versions
Mostly to bump to macos one which will hopefully fix CI issues there.

Signed-off-by: Ran Benita <ran@unusedvar.com>
2023-05-12 22:27:17 +03:00
Peter Hutterer a005d06c1d CI: bump a few actions to newer versions
Node 12 is deprecated so let's bump the actions to newer versions that
use Node 16. See
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
2022-12-14 18:22:55 +02:00
Peter Hutterer 121cd37753 CI: split and rename the workflows to windows/macos/linux
"main" is a bit non-descriptive, let's name them after the platforms we run them
on. Splitting them up allows us to be less selective on how we run the various
workflows, e.g. always running the linux one.
2022-01-17 21:44:48 +10:00