LLNL / axom

CS infrastructure components for HPC applications
BSD 3-Clause "New" or "Revised" License
157 stars 27 forks source link

Ensure Docker TPL builds use +devtools variant #1418

Open bmhan12 opened 1 month ago

bmhan12 commented 1 month ago

I noticed as part of the clang@14 and gcc@13 Docker builds, Axom is building +devtool dependencies like doxygen and graphviz, but not building with the +devtool variant in the spec.

You can see in the output host-config artifacts that no devtools are enabled: https://github.com/LLNL/axom/actions/runs/9881233214

white238 commented 1 month ago

To my knowledge the docker containers should not be building the devtools spec:

https://github.com/LLNL/axom/blob/1235eb826b8f41c70608db9dea8f8c7d26197318/scripts/docker/dockerfile_clang-14#L36

also in the build log it is turned off:

https://github.com/LLNL/axom/actions/runs/9881233214/job/27291573128#step:8:5489

Where do you see it building those dependencies?

bmhan12 commented 1 month ago

Where do you see it building those dependencies?

I saw that the docker builds were using apt-get to get devtools dependencies and explicitly downloading a doxygen tarball, so it made it seem the next step would be to build with +devtools: https://github.com/LLNL/axom/blob/1235eb826b8f41c70608db9dea8f8c7d26197318/scripts/docker/dockerfile_clang-14#L9-L16

EDIT: And providing external packages in the Docker spack.yaml for devtool dependencies: https://github.com/LLNL/axom/blob/1235eb826b8f41c70608db9dea8f8c7d26197318/scripts/spack/configs/docker/ubuntu22/spack.yaml#L170-L194

white238 commented 1 month ago

Ah yes. We could add them as Spack externals but Axom doesn't currently use any of the devtools in its CI. It certainly could, and should probably. We do utilize clangformat for a style check. Serac has doxygen check that we could add that ensures no warning/errors in the doxygen build but this would be a large effort to get it to an empty state. It was left off because we just aren't using them.