From afdb0323fe57f257f4fe3eb898eabd9733b8800d Mon Sep 17 00:00:00 2001 From: thc1006 <84045975+thc1006@users.noreply.github.com> Date: Wed, 29 Jul 2026 23:57:35 +0800 Subject: [PATCH 1/2] Docs that can build The docs job has failed on every run since it was added: five runs, back to 2026-07-26, all red. `sphinx-build -W` turns four warnings into errors, and all four come from this fork's own additions rather than from upstream. Three are one stray line, copied three times. `add_thrust_vector_control`, `add_roll_control` and `add_throttle_control` describe the controller arguments as a numbered list, and item 7 ends with a loose ``interactive_objects`` at one space less than the continuation lines above it. docutils reads that as a definition list ending without a blank line. The same item in upstream's `add_air_brakes` does not have it, so removing it puts these three back in step with the method they were copied from. Measured per docstring, running napoleon and docutils the way Sphinx does. Before: those three warn at line 28, `add_air_brakes` does not. After: none of the four warn. The fourth is `halcyon_flight_sim_active_control.ipynb`, which is in `docs/examples/` and in no toctree, so Sphinx builds it and then reports that nothing links to it. It is this fork's own example of the feature the fork exists for, so it goes in the list next to the flight it varies rather than into an exclude. Not verified by a full local build: an unrelated notebook fetches a live weather forecast and the file it reaches no longer covers the date it asks for, which stops the build here for a reason CI does not have. Signed-off-by: thc1006 <84045975+thc1006@users.noreply.github.com> --- docs/examples/index.rst | 1 + rocketpy/rocket/rocket.py | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/examples/index.rst b/docs/examples/index.rst index bd7506c30..d90fcfc83 100644 --- a/docs/examples/index.rst +++ b/docs/examples/index.rst @@ -106,6 +106,7 @@ In the next sections you will find the simulations of the rockets listed above. prometheus_2022_flight_sim.ipynb erebus_flight_sim.ipynb halcyon_flight_sim.ipynb + halcyon_flight_sim_active_control.ipynb cavour_flight_sim.ipynb genesis_flight_sim.ipynb camoes_flight_sim.ipynb diff --git a/rocketpy/rocket/rocket.py b/rocketpy/rocket/rocket.py index 46d11cc08..f3b8c4a95 100644 --- a/rocketpy/rocket/rocket.py +++ b/rocketpy/rocket/rocket.py @@ -2004,7 +2004,6 @@ def add_thrust_vector_control( rocket. The most recent measurements of the sensors are provided with the ``sensor.measurement`` attribute. The sensors are listed in the same order as they are added to the rocket - ``interactive_objects`` This function will be called during the simulation at the specified sampling rate. The function should evaluate and change the observed @@ -2164,7 +2163,6 @@ def add_roll_control( rocket. The most recent measurements of the sensors are provided with the ``sensor.measurement`` attribute. The sensors are listed in the same order as they are added to the rocket - `interactive_objects` This function will be called during the simulation at the specified sampling rate. The function should evaluate and change the observed @@ -2300,7 +2298,6 @@ def add_throttle_control( rocket. The most recent measurements of the sensors are provided with the ``sensor.measurement`` attribute. The sensors are listed in the same order as they are added to the rocket - ``interactive_objects`` This function will be called during the simulation at the specified sampling rate. The function should evaluate and change the observed From dab3ed52c1e24b04def639f391953fa136c35f10 Mon Sep 17 00:00:00 2001 From: thc1006 <84045975+thc1006@users.noreply.github.com> Date: Thu, 30 Jul 2026 00:13:47 +0800 Subject: [PATCH 2/2] Run the docs check before the release merge, not at it `docs.yml` triggered on a base of master only, so the only pull request that ever started it was develop into master. A docstring that does not build therefore lands on develop unremarked and first fails the merge that was meant to ship it, which is what #19 and #23 hit and why the four warnings in the commit before this one went unnoticed for three days. develop as well. The same paths filter, so it still only runs when something it reads has changed. This also makes the commit before it self checking: without this, a pull request into develop cannot start the job that would prove the warnings are gone, and the only evidence would be a measurement in the description. Signed-off-by: thc1006 <84045975+thc1006@users.noreply.github.com> --- .github/workflows/docs.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 806bef0dc..25b76cef0 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,10 +1,13 @@ name: Documentation on: - # Only PRs targeting master (base branch = master) and pushes to master. + # develop as well as master. Work lands on develop first, so a base of master + # alone meant the only run was the release pull request: a docstring that does + # not build sat on develop until then and failed the merge that was supposed + # to ship it, which is how the four warnings this fixes went unnoticed. pull_request: types: [opened, synchronize, reopened, ready_for_review] - branches: [master] + branches: [master, develop] paths: - "docs/**" - "rocketpy/**" # docstrings feed the autodoc API reference @@ -13,7 +16,7 @@ on: - ".readthedocs.yaml" - ".github/workflows/docs.yml" push: - branches: [master] + branches: [master, develop] paths: - "docs/**" - "rocketpy/**"