Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure Docker TPL builds use +devtools variant #1418

Open
bmhan12 opened this issue Sep 19, 2024 · 3 comments
Open

Ensure Docker TPL builds use +devtools variant #1418

bmhan12 opened this issue Sep 19, 2024 · 3 comments
Labels
Build system Issues related to Axom's build system CI Issues related to continuous integration low priority Reviewed

Comments

@bmhan12
Copy link
Contributor

bmhan12 commented Sep 19, 2024

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 bmhan12 added CI Issues related to continuous integration Build system Issues related to Axom's build system labels Sep 19, 2024
@white238
Copy link
Member

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

--spec=%[email protected]+mfem+raja+umpire+profiling --prefix=/home/axom/axom_tpls -k \

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
Copy link
Contributor Author

bmhan12 commented Sep 19, 2024

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:

RUN sudo apt-get install gettext gfortran-$(gcc -dumpversion) graphviz libomp-14-dev libopenblas-dev \
lsb-release lua5.2 lua5.2-dev mpich python3-sphinx ssh texlive-full -fy
RUN sudo useradd -m -s /bin/bash -G sudo axom
# Install proper doxygen version (should match version in LC host configs)
RUN sudo wget https://github.com/doxygen/doxygen/releases/download/Release_1_9_8/doxygen-1.9.8.linux.bin.tar.gz
RUN sudo tar -xf doxygen-1.9.8.linux.bin.tar.gz
RUN cd doxygen-1.9.8 && sudo make && sudo make install && doxygen --version

EDIT: And providing external packages in the Docker spack.yaml for devtool dependencies:

# Globally lock in version of devtools
cmake:
version: [3.23.1]
buildable: false
externals:
- spec: [email protected]
prefix: /usr/local
doxygen:
version: [1.9.1]
buildable: false
externals:
- spec: [email protected]
prefix: /usr
llvm:
version: [14.0.0]
buildable: false
externals:
- spec: [email protected]+clang
prefix: /usr
py-sphinx:
version: [4.3.2]
buildable: false
externals:
- spec: [email protected]
prefix: /usr

@white238
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build system Issues related to Axom's build system CI Issues related to continuous integration low priority Reviewed
Projects
None yet
Development

No branches or pull requests

3 participants