axom icon indicating copy to clipboard operation
axom copied to clipboard

Ensure Docker TPL builds use +devtools variant

Open bmhan12 opened this issue 1 year ago • 3 comments

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

bmhan12 avatar Sep 19 '24 15:09 bmhan12

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?

white238 avatar Sep 19 '24 16:09 white238

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

bmhan12 avatar Sep 19 '24 16:09 bmhan12

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.

white238 avatar Sep 19 '24 16:09 white238

Leave TPLs in container images, but add test checks. For example: https://github.com/LLNL/serac/blob/5f59e10265bbfc2f509c6b3b0a1904bb37b93556/scripts/azure-pipelines/linux-check.sh#L70-L73

rhornung67 avatar Dec 16 '24 22:12 rhornung67