Skip to content

Commit ee6c3dc

Browse files
committed
Merge remote-tracking branch 'upstream/master' into feature/io
2 parents b416ce6 + d980ad9 commit ee6c3dc

93 files changed

Lines changed: 13603 additions & 2303 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ on:
1919
- 'pendingchanges/**'
2020
- '**.md'
2121
pull_request:
22+
# Add 'ready_for_review' to run CI when a draft PR is marked ready.
23+
types: [opened, synchronize, reopened, ready_for_review]
2224
branches:
2325
- '**'
2426
paths-ignore:
@@ -53,9 +55,10 @@ jobs:
5355
# VFX platform jobs. These are run on the appropriate CentOS images from
5456
# the provided ASWF docker containers
5557
if: |
56-
github.event_name != 'workflow_dispatch' ||
57-
github.event.inputs.type == 'all' ||
58-
github.event.inputs.type == 'linux'
58+
(github.event_name == 'push' ||
59+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
60+
(github.event_name == 'workflow_dispatch' &&
61+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'linux')))
5962
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-22.04-8c-32g-300h') || 'ubuntu-latest' }}
6063
name: >
6164
linux:${{ matrix.config.image }}-abi:${{ matrix.config.abi }}-cxx:${{ matrix.config.cxx }}-type:${{ matrix.config.build }}
@@ -119,9 +122,10 @@ jobs:
119122
windows:
120123
# Windows CI. Tests a dynamic build with MD.
121124
if: |
122-
github.event_name != 'workflow_dispatch' ||
123-
github.event.inputs.type == 'all' ||
124-
github.event.inputs.type == 'win'
125+
(github.event_name == 'push' ||
126+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
127+
(github.event_name == 'workflow_dispatch' &&
128+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'win')))
125129
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
126130
name: windows
127131
env:
@@ -163,9 +167,10 @@ jobs:
163167

164168
macos:
165169
if: |
166-
github.event_name != 'workflow_dispatch' ||
167-
github.event.inputs.type == 'all' ||
168-
github.event.inputs.type == 'mac'
170+
(github.event_name == 'push' ||
171+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
172+
(github.event_name == 'workflow_dispatch' &&
173+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'mac')))
169174
runs-on: ${{ matrix.config.image }}
170175
name: ${{ matrix.config.image }}
171176
env:

.github/workflows/docs.yml

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,13 @@ on:
1111
- 'CHANGES'
1212
- 'openvdb_maya/**'
1313
- 'pendingchanges/**'
14-
- '**.md'
1514
pull_request:
1615
branches:
1716
- '**'
1817
paths-ignore:
1918
- 'CHANGES'
2019
- 'openvdb_maya/**'
2120
- 'pendingchanges/**'
22-
- '**.md'
2321
workflow_dispatch:
2422
inputs:
2523
deploy:
@@ -33,7 +31,24 @@ concurrency:
3331
cancel-in-progress: true
3432

3533
jobs:
34+
validate_docs:
35+
# Cheap static checks that run before the heavier doxygen build:
36+
# * every #include <...> referenced from a fenced code block in doc/ resolves
37+
# * every github.com/.../blob/<branch>/<path> URL points to a file on disk
38+
# Catches the class of docs-rot from issue #2161 (e.g. nanovdb::util ->
39+
# nanovdb::tools rename) before the doxygen job runs.
40+
runs-on: ubuntu-latest
41+
steps:
42+
- uses: actions/checkout@v4
43+
- name: set_up_python
44+
uses: actions/setup-python@v5
45+
with:
46+
python-version: '3.x'
47+
- name: run_validator
48+
run: python3 ci/validate_docs_references.py
49+
3650
doxygen:
51+
needs: validate_docs
3752
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-22.04-8c-32g-300h') || 'ubuntu-latest' }}
3853
env:
3954
CXX: g++
@@ -45,9 +60,12 @@ jobs:
4560
run: ./ci/install_doxygen.sh 1_14_0
4661
- name: nanobind
4762
run: ./ci/install_nanobind.sh 2.5.0
48-
- name: install_latex
49-
run: ./ci/install_texlive.sh
5063
- name: build
64+
# Doxygen's native WARN_AS_ERROR=FAIL_ON_WARNINGS gates the docs build:
65+
# any warning fails the job. FAIL_ON_WARNINGS still generates the docs and
66+
# writes the full warning log first, so the artifact step below captures
67+
# it for debugging. Enabled via OPENVDB_DOXYGEN_WARN_AS_ERROR (see
68+
# doc/CMakeLists.txt).
5169
run: >
5270
./ci/build.sh -v
5371
--build-type=Release
@@ -58,7 +76,18 @@ jobs:
5876
-DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON
5977
-DUSE_EXPLICIT_INSTANTIATION=OFF
6078
-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON
79+
-DOPENVDB_DOXYGEN_WARN_AS_ERROR=ON
6180
\"
81+
- name: upload_doxygen_warning_log
82+
# Always upload so contributors can debug failed PR builds without
83+
# having to reproduce the doxygen environment locally.
84+
if: always()
85+
uses: actions/upload-artifact@v4
86+
with:
87+
name: doxygen-warnings
88+
path: build/doc/doxygen.warnings.log
89+
if-no-files-found: ignore
90+
retention-days: 14
6291
- name: pre_deploy
6392
# Overwrite global SSH configuration
6493
# https://github.com/peaceiris/actions-gh-pages/issues/719
@@ -147,4 +176,3 @@ jobs:
147176
- Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }}
148177
149178
Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
150-

.github/workflows/nanovdb.yml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ on:
1818
- 'pendingchanges/**'
1919
- '**.md'
2020
pull_request:
21+
# Add 'ready_for_review' to run CI when a draft PR is marked ready.
22+
types: [opened, synchronize, reopened, ready_for_review]
2123
branches:
2224
- '**'
2325
paths-ignore:
@@ -44,10 +46,12 @@ concurrency:
4446

4547
jobs:
4648
linux-nanovdb:
49+
# push OR non-draft PR OR matching manual run
4750
if: |
48-
github.event_name != 'workflow_dispatch' ||
49-
github.event.inputs.type == 'all' ||
50-
github.event.inputs.type == 'linux'
51+
(github.event_name == 'push' ||
52+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
53+
(github.event_name == 'workflow_dispatch' &&
54+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'linux')))
5155
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-22.04-8c-32g-300h') || 'ubuntu-latest' }}
5256
name: >
5357
linux-nanovdb:cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }}
@@ -92,9 +96,10 @@ jobs:
9296

9397
windows-nanovdb:
9498
if: |
95-
github.event_name != 'workflow_dispatch' ||
96-
github.event.inputs.type == 'all' ||
97-
github.event.inputs.type == 'win'
99+
(github.event_name == 'push' ||
100+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
101+
(github.event_name == 'workflow_dispatch' &&
102+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'win')))
98103
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
99104
env:
100105
VCPKG_DEFAULT_TRIPLET: 'x64-windows'
@@ -139,9 +144,10 @@ jobs:
139144

140145
macos-nanovdb:
141146
if: |
142-
github.event_name != 'workflow_dispatch' ||
143-
github.event.inputs.type == 'all' ||
144-
github.event.inputs.type == 'mac'
147+
(github.event_name == 'push' ||
148+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
149+
(github.event_name == 'workflow_dispatch' &&
150+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'mac')))
145151
runs-on: ${{ matrix.config.runner }}
146152
env:
147153
CXX: ${{ matrix.config.cxx }}
@@ -168,9 +174,10 @@ jobs:
168174

169175
nanovdb-lite:
170176
if: |
171-
github.event_name != 'workflow_dispatch' ||
172-
github.event.inputs.type == 'all' ||
173-
github.event.inputs.type == 'linux'
177+
(github.event_name == 'push' ||
178+
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) ||
179+
(github.event_name == 'workflow_dispatch' &&
180+
(github.event.inputs.type == 'all' || github.event.inputs.type == 'linux')))
174181
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-22.04-8c-32g-300h') || 'ubuntu-latest' }}
175182
container:
176183
image: aswf/ci-openvdb:2024-clang17.2

0 commit comments

Comments
 (0)