[pull] master from OpenMDAO:master#243
Merged
Merged
Conversation
… script consolidation
Replace the jupyter-book + ipyparallel doc build stack with papermill +
sphinx/myst-nb. ipyparallel 9.1.0 (conda-forge) broke MPI engine startup;
rather than pin back, the entire execution layer has been replaced.
build_docs.py (new)
- Single Python entry point replacing build_docs.sh + ipcluster_start.sh.
- Subcommands: `build` (default) and `clean`.
- Flags: --no-exec, --no-serial, --no-mpi, --fast, --workers N.
- Skips Sphinx build automatically when --no-serial or --no-mpi is used,
allowing partial notebook subsets to be tested independently.
execute_notebooks.py
- Rewrote execution loop: serial (non-MPI) notebooks run in a
multiprocessing Pool; MPI notebooks run serially one at a time.
- MPI routing is driven solely by `"mpi": true` in notebook top-level
metadata; no source inspection needed.
- Added --no-serial and --no-mpi flags so either subset can be skipped.
- All failures are collected and reported at the end rather than
fail-fast.
- Added optional rich progress bar when the `rich` package is available.
build_source_docs.py
- Removed shutil.rmtree that wiped _srcdocs/ on every run, causing all
215 source-doc notebooks to receive new timestamps and be re-executed
unnecessarily.
- Added _write_if_changed() helper: notebooks are only written when
content differs, preserving timestamps so execute_notebooks.py's
skip-if-up-to-date logic works correctly for the srcdocs tree.
…to be displayed without the use of rich.'
…workers to 3 on I
openmdao/utils/notebook_utils.py:
- Add mpi_exec(nprocs, script): displays an HTML MPI/Colab/Binder note,
echoes the command, captures stdout, and raises RuntimeError on failure.
Uses HTML output to avoid Sphinx treating the note as a fenced code block
with language '{note}'.
12 MPI notebooks refactored (all under openmdao/docs/openmdao_book/):
- Delete standalone markdown MPI warning cells (now emitted by mpi_exec).
- Replace 6-line boilerplate subprocess.run blocks with:
from openmdao.utils.notebook_utils import mpi_exec
mpi_exec(4, 'mpi_script_N.py')
openmdao/devtools/build_docs.py (moved from openmdao/docs/build_docs.py):
- HERE now resolves docs dir relative to the devtools package location so
the script works from any working directory.
- Invoked as: python -m openmdao.devtools.build_docs build [flags]
.github/actions/build_docs/action.yml:
- Drop 'cd openmdao/docs'; use python -m openmdao.devtools.build_docs.
pixi.toml:
- Remove [feature.docs.tasks.docs] pixi task; use the devtools module directly.
developer_docs/doc_build.ipynb:
- Replace obsolete ipyparallel/ipcluster instructions with current
papermill+Sphinx pipeline, full flag reference, and incremental build tips.
developer_docs/doc_style_guide.ipynb:
- Add "Notebook Metadata Reference" section documenting all cell-level tags
(remove-input, remove-output, remove-cell, hide-input, hide-output,
active-ipynb, allow-assert, output_scroll) and notebook-level metadata
keys (mpi, reports, orphan).
- Update MPI section to mention setting "mpi": true in notebook metadata.
- Replace "Building the Documentation" content with a pointer to doc_build.ipynb.
…git and ruff Added standard notebook header cell (notebook_mode import) to auto_ivc_api_translation.ipynb and 11 MPI feature notebooks that were missing it. These notebooks had a markdown title as the first cell; the header is now inserted at cell 0 per the test_header requirement. Also added openmdao/docs/_executed_book/ to .gitignore and ruff exclude.
… was run from the command line.
…ame security issues in chrome.
…ay vs the jupyterbook way).
… collapsible cells.
CI workflow and doc updates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )