Skip to content

Commit d66098c

Browse files
authored
Fix document warnings related CI infrastructure (#2148)
* Fix docs * Update actions/checkout and remove tag fetch hack * Fix lack of warnings which needed to be sent to the first sphinx build * fixup! Fix docs * Minimize doc CI build * Clean build directory after install * Group build commands and print notice about build dir size * Add more warnings * Build CI for A100, only use virtual architecture for reldeb, disable device debug * Fix missing quotes * Revert "Build CI for A100, only use virtual architecture for reldeb, disable device debug" This reverts commit 3b81610. We've got vecgeom built against 70, and it seems that the build time increased drastically as a result of that or virtual. Testing independently, it seems there is little to no difference for omitting the real architecture. * Always print spack arch * Constrain ccache and curl to try to debug concretization failures
1 parent bc43daa commit d66098c

File tree

12 files changed

+60
-41
lines changed

12 files changed

+60
-41
lines changed

.github/workflows/build-docker.yml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
# NOTE: checkout must occur *after* setting up environment for git tags to work
7676
# NOTE: depth must be enough to include the previous tag
7777
- name: Check out Celeritas
78-
uses: actions/checkout@v4
78+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
7979
with:
8080
fetch-depth: 383
8181
fetch-tags: true
@@ -93,7 +93,10 @@ jobs:
9393
- name: Build Celeritas
9494
working-directory: build
9595
run: |
96-
ninja
96+
echo "::group::Build verbosely"
97+
ninja -v -k0
98+
echo "::endgroup::"
99+
echo "::notice title=build-size::Build size is $(du -hs . | awk '{print $1}')"
97100
98101
### TEST ###
99102

@@ -129,10 +132,19 @@ jobs:
129132
### INSTALL ###
130133

131134
- name: Install Celeritas
135+
id: install
132136
working-directory: build
133137
run: |
138+
echo "::group::Install"
134139
cmake --install .
140+
echo "::endgroup::"
141+
cmake --build . --target clean
135142
- name: Check installation
143+
if: >-
144+
${{
145+
!cancelled()
146+
&& steps.install.outcome == 'success'
147+
}}
136148
working-directory: install
137149
run: |
138150
for exe in orange-update celer-export-geant \
@@ -144,7 +156,8 @@ jobs:
144156
# TODO: rocm+ndebug fails to propagate HIP library link
145157
if: >-
146158
${{
147-
!(matrix.image == 'ubuntu-rocm' && matrix.buildtype == 'ndebug')
159+
steps.install.outcome == 'success'
160+
&& !(matrix.image == 'ubuntu-rocm' && matrix.buildtype == 'ndebug')
148161
}}
149162
run: |
150163
. /etc/profile

.github/workflows/build-fast.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
}}
5959
steps:
6060
- name: Check out Celeritas
61-
uses: actions/checkout@v4
61+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
6262

6363
### ENVIRONMENT ###
6464

@@ -162,7 +162,7 @@ jobs:
162162
runs-on: windows-latest
163163
steps:
164164
- name: Check out Celeritas
165-
uses: actions/checkout@v4
165+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
166166

167167
### ENVIRONMENT ###
168168

.github/workflows/build-spack.yml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ jobs:
105105
continue-on-error: false
106106
steps:
107107
- name: Check out Celeritas
108-
uses: actions/checkout@v4
108+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
109109
with:
110110
fetch-depth: ${{format('{0}', matrix.special != 'tidy' && 383 || 0)}}
111111
fetch-tags: true # to get version information
@@ -122,6 +122,7 @@ jobs:
122122
path: spack-src
123123
- name: Initialize spack environment
124124
run: |
125+
echo "::notice title=spack-arch::Spack architecture is $(spack arch)"
125126
sed -e 's/cxxstd=default/cxxstd=${{env.CXXSTD}}/' \
126127
scripts/ci/spack.yaml > spack.yaml
127128
if ${{matrix.geometry == 'vecgeom'}}; then
@@ -144,7 +145,9 @@ jobs:
144145
&& matrix.geant != ''}}; then
145146
spack -e . add [email protected]
146147
fi
148+
echo "::group::Find compilers"
147149
spack -vd -e . compiler find --mixed-toolchain
150+
echo "::endgroup::"
148151
# Add the spack ref so that updating spack will reconcretize
149152
echo "# Concretized with ${{env.SPACK_REF}}" >> spack.yaml
150153
- name: Cache concretization
@@ -159,7 +162,6 @@ jobs:
159162
run: |
160163
spack -e . -v concretize || (
161164
ERR=$?
162-
spack arch
163165
cat spack.yaml
164166
exit $ERR
165167
)
@@ -188,8 +190,6 @@ jobs:
188190

189191
- name: Configure Celeritas
190192
run: |
191-
# NOTE: tags have issues, see https://github.com/actions/checkout/issues/2041
192-
git fetch --tags
193193
ln -fs scripts/cmake-presets/ci-ubuntu-github.json CMakeUserPresets.json
194194
if ${{matrix.geant == '11.0'}}; then
195195
# Test overriding of Geant4 environment variables
@@ -244,7 +244,10 @@ jobs:
244244
working-directory: build
245245
run: |
246246
ccache -z
247+
echo "::group::Build verbosely"
247248
ninja -v -k0
249+
echo "::endgroup::"
250+
echo "::notice title=build-size::Build size is $(du -hs . | awk '{print $1}')"
248251
- name: Show ccache stats
249252
if: ${{!cancelled() && steps.installdeps.outcome == 'success'}}
250253
run: |
@@ -356,7 +359,10 @@ jobs:
356359
}}
357360
working-directory: build
358361
run: |
359-
ninja install
362+
echo "::group::Install"
363+
cmake --install .
364+
echo "::endgroup::"
365+
ninja clean
360366
- name: Check installation
361367
if: >-
362368
${{
@@ -372,13 +378,12 @@ jobs:
372378
./bin/celer-sim --config
373379
- name: Build examples
374380
env:
375-
CELER_DISABLE_G4_EXAMPLES: >-
376-
${{(!matrix.geant) && '1' || ''}}
377-
# Special clang features require downstream flags that don't propagate
381+
CELER_DISABLE_G4_EXAMPLES: ${{(!matrix.geant) && '1' || ''}}
382+
# `asanlite` requires downstream flags that don't propagate
378383
if: >-
379384
${{
380-
matrix.special != 'asanlite'
381-
&& matrix.special != 'tidy'
385+
steps.install.outcome == 'success'
386+
&& matrix.special != 'asanlite'
382387
}}
383388
run: |
384389
. ${SPACK_VIEW}/rc

.github/workflows/build-ultralite.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
runs-on: ubuntu-24.04
2525
steps:
2626
- name: Check out Celeritas
27-
uses: actions/checkout@v4
27+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
2828

2929
### ENVIRONMENT ###
3030

@@ -121,7 +121,7 @@ jobs:
121121
runs-on: windows-latest
122122
steps:
123123
- name: Check out Celeritas
124-
uses: actions/checkout@v4
124+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
125125

126126
### ENVIRONMENT ###
127127

.github/workflows/deploy-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
needs: build-docs
3131
steps:
3232
- name: Check out Celeritas doc base
33-
uses: actions/checkout@v4
33+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
3434
with:
3535
ref: doc/gh-pages-base
3636
- uses: actions/setup-python@v5

.github/workflows/doc.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,14 @@ jobs:
3636
sudo apt-get -y install \
3737
cmake graphviz ninja-build doxygen nlohmann-json3-dev
3838
- name: Check out Celeritas
39-
uses: actions/checkout@v4
39+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
4040
with:
4141
fetch-depth: 383
4242
fetch-tags: true
4343
- name: Configure celeritas
4444
# Turn warnings into errors only for PRs
4545
# Disable expensive graphs for PRs also
4646
run: |
47-
# NOTE: tags have issues, see https://github.com/actions/checkout/issues/2041
48-
git fetch --tags
4947
ln -fs scripts/cmake-presets/ci-ubuntu-github.json CMakeUserPresets.json
5048
mkdir build && cd build
5149
cmake --preset=${CMAKE_PRESET} --log-level=VERBOSE \
@@ -79,7 +77,7 @@ jobs:
7977
sudo apt-get -y install \
8078
cmake graphviz ninja-build doxygen nlohmann-json3-dev
8179
- name: Check out Celeritas
82-
uses: actions/checkout@v4
80+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 (2 Dec 2025)
8381
with:
8482
fetch-depth: 383
8583
fetch-tags: true
@@ -92,13 +90,11 @@ jobs:
9290
pip install -r scripts/doc-requirements.txt
9391
- name: Configure celeritas
9492
run: |
95-
# NOTE: tags have issues, see https://github.com/actions/checkout/issues/2041
96-
git fetch --tags
9793
ln -fs scripts/cmake-presets/ci-ubuntu-github.json CMakeUserPresets.json
9894
mkdir build && cd build
9995
cmake --preset=${CMAKE_PRESET} --log-level=VERBOSE \
10096
${{ github.workflow == 'pull_request'
101-
&& '-DDOXYGEN_WARN_AS_ERROR="YES" -DCELERITAS_SPHINX_USER_HTML_ARGS="-W;--keep-going"'
97+
&& '-DDOXYGEN_WARN_AS_ERROR="YES" -DCELERITAS_SPHINX_ARGS="-W;--keep-going"'
10298
|| ''}} \
10399
..
104100
- name: Build documentation

doc/CMakeLists.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ if(CELERITAS_PYTHONPATH_RERUN)
110110
unset(CELERITAS_PYTHONPATH_RERUN CACHE)
111111
endif()
112112

113+
113114
if(NOT Sphinx_FOUND)
114115
function(celeritas_build_sphinx type output depends)
115116
add_custom_command(
@@ -125,6 +126,10 @@ if(NOT Sphinx_FOUND)
125126
)
126127
endfunction()
127128
else()
129+
set(CELERITAS_SPHINX_ARGS "" CACHE STRING
130+
"Additional arguments to pass to Sphinx to build user docs")
131+
mark_as_advanced(CELERITAS_SPHINX_ARGS)
132+
128133
celeritas_get_pyenv(CELER_PYTHONENV)
129134
function(celeritas_build_sphinx type output depends)
130135
if(NOT type STREQUAL "dummy")
@@ -139,7 +144,7 @@ else()
139144
"$<TARGET_FILE:Python::Interpreter>" -m sphinx.cmd.build -q
140145
-d "${CMAKE_CURRENT_BINARY_DIR}/doctrees"
141146
-b ${type}
142-
${ARGN}
147+
${CELERITAS_SPHINX_ARGS}
143148
"${CMAKE_CURRENT_SOURCE_DIR}"
144149
"${CMAKE_CURRENT_BINARY_DIR}/${type}"
145150
COMMENT "${_comment}"
@@ -272,7 +277,7 @@ doxygen_add_docs(doxygen_xml
272277
)
273278

274279
#-----------------------------------------------------------------------------#
275-
# MMD PROCESSING
280+
# GRAPHICS PROCESSING
276281

277282
# Note that *all* dot files must be present at the same time to prevent
278283
# errors when doing separate HTML/PDF builds: the doctrees directory caches the
@@ -338,12 +343,8 @@ add_custom_target(doc_preprocess DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_doctree
338343

339344
#-----------------------------------------------------------------------------#
340345
# HTML
341-
set(CELERITAS_SPHINX_USER_HTML_ARGS "" CACHE STRING
342-
"Additional arguments to pass to Sphinx to build HTML user docs")
343-
mark_as_advanced(CELERITAS_SPHINX_USER_HTML_ARGS)
344-
345346
set(_doc_html "html/index.html")
346-
celeritas_build_sphinx(html "${_doc_html}" "${_doctree_env}" ${CELERITAS_SPHINX_USER_HTML_ARGS})
347+
celeritas_build_sphinx(html "${_doc_html}" "${_doctree_env}")
347348
add_custom_target(doc DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_doc_html}")
348349

349350
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/"

doc/implementation/mucf-physics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ muonic atom spin flip. The muon-catalyzed fusion process is activated by
101101
enabling the ``mucf_physics`` option in
102102
:cpp:class:`celeritas::ext::GeantPhysicsOptions`.
103103

104-
.. doxygenclass:: celeritas::inp::MucfPhysics
104+
.. celerstruct:: inp::MucfPhysics
105105

106106
.. todo:: Expand description when hardcoded data is finalized.
107107

doc/usage/input/problem.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,16 @@ structures:
5353
The primary generator, similar to Geant4's "particle gun", has different
5454
configuration options:
5555

56-
.. doxygentypedef:: celeritas::inp::Events
57-
.. doxygentypedef:: celeritas::inp::ShapeDistribution
5856
.. doxygentypedef:: celeritas::inp::AngleDistribution
5957
.. doxygentypedef:: celeritas::inp::EnergyDistribution
58+
.. doxygentypedef:: celeritas::inp::Events
59+
.. doxygentypedef:: celeritas::inp::MonodirectionalDistribution
60+
.. doxygentypedef:: celeritas::inp::MonoenergeticDistribution
61+
.. doxygentypedef:: celeritas::inp::PointDistribution
62+
.. doxygentypedef:: celeritas::inp::ShapeDistribution
6063

61-
.. celerstruct:: inp::PointDistribution
6264
.. celerstruct:: inp::UniformBoxDistribution
6365
.. celerstruct:: inp::IsotropicDistribution
64-
.. celerstruct:: inp::MonodirectionalDistribution
65-
.. celerstruct:: inp::MonoenergeticDistribution
6666

6767

6868
.. _inp_system:

scripts/ci/spack.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
spack:
55
view: /opt/spack-view
66
specs:
7-
- ccache
7+
- "ccache@4.10:"
88
- cli11 +pic ~ipo
9-
- cmake
9+
- "cmake ^curl tls=openssl"
1010
- covfie
1111
- googletest
1212
- hepmc3

0 commit comments

Comments
 (0)