Page MenuHomeWildfire Games

docs: Improve Doxygen Visuals and Build process.
Needs ReviewPublic

Authored by Cayleb-Ordo on Mar 17 2024, 2:47 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Switched to CMake for configuring and building the doxygen Website.

ci: Update CI to use the new Doxygen Build process.

Add a new Dockerfile which uses debian:trixie instead of debian:buster.
Modify Jenkins Pipeline to use build the new Dockerfile.

Test Plan

Tested on Opensuse Tumbleweed 20240314.

Diff Detail

Repository
rP 0 A.D. Public Repository
Branch
doxygen-improvement
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 22881
Build 56159: arc lint + arc unit

Event Timeline

Cayleb-Ordo created this revision.Mar 17 2024, 2:47 PM
Owners added a subscriber: Restricted Owners Package.Mar 17 2024, 2:47 PM
Cayleb-Ordo requested review of this revision.Mar 17 2024, 2:47 PM
sera added a subscriber: sera.Mar 17 2024, 7:56 PM

Quick review

LICENSE.md
2

"cmake -E copy" if you really need a copy instead of adding it to svn twice and risk it getting out of sync.

build/jenkins/dockerfiles/debian-trixie-docs.Dockerfile
43

Why not use debian rust package? (reproducibility)

docs/README.txt
6

You removed the config file.

docs/doxygen/CMakeLists.txt
2

Pretty harsh, think you don't need such a recent version, maybe 3.15 or so. Using 3.25 Debain bookworm users could build it locally at least. Though using 3.27 for using the existing doxygen config file would be an option, then users could still build the docs as they currently do.

4

This are only docs, think the name should reflect this.

docs/doxygen/pyro.jpg
1

Is this logo not in svn yet?

Stan added a subscriber: Stan.Mar 18 2024, 3:22 PM
Stan added inline comments.
build/jenkins/dockerfiles/debian-trixie-docs.Dockerfile
43

IIRC that's a copy paste of the other docker where we had an issue with too old rust for Spidermonkey. Agree at least specifying a version would be better.

build/jenkins/pipelines/docker-docs.Jenkinsfile
65

Is that needed? Can it output in the HTML folder?

build/jenkins/pipelines/docker-reset.Jenkinsfile
46

Given the space on the machine, I hope we don't need to pull another image :/

sera added inline comments.Mar 18 2024, 7:35 PM
build/jenkins/pipelines/docker-docs.Jenkinsfile
65

Needed is maybe a to strong a word, but out of tree build is certainly recommended for when using a build system.

build/jenkins/pipelines/docker-reset.Jenkinsfile
46

I suppose this one would replace the gcc7-docs one, just that the version of this file on the CI is not the one this diff is made against. But you are correct in that it might mean some increase in size all the same.

Maybe you can commit the latest one, so this patch can be rebased?

Stan added inline comments.Mar 18 2024, 8:37 PM
build/jenkins/pipelines/docker-docs.Jenkinsfile
65

That's still in the tree just one level down.

build/jenkins/pipelines/docker-reset.Jenkinsfile
46

In this case this means more images on the disk (debian + build base with new debian + gcc build based on that and docs based on gcc build)

sera added inline comments.Mar 19 2024, 9:16 AM
build/jenkins/pipelines/docker-docs.Jenkinsfile
65

Well, source and build dir are different and build dir isn't an existing dir either. So yes not literally out of tree but to my understanding it's also used like this. Then you have in tree and vpath builds to complement the set, right?

build/jenkins/pipelines/docker-reset.Jenkinsfile
46

So you prefer a docs image based on build-base with a recent cmake built from source or maybe a prebuilt one from cmake.org to save on disk space?

Stan added a comment.Mar 19 2024, 9:25 AM

Just curious, why bother with cmake? Wouldn't a posix shell script do the same?

build/jenkins/pipelines/docker-docs.Jenkinsfile
65

To be fair I don't mind much since it's gonna get purged by zfs anyway. Mostly keeping the keep the patch as simple as possible unless you really need to ^°

build/jenkins/pipelines/docker-reset.Jenkinsfile
46

Ideally yes. The smaller the incremental images the better.

  • docs: Improve Doxygen Visuals and Build process.
  • ci: Update CI to use the new Doxygen Build process.