[go: up one dir, main page]

CI/Docs: build [dynamic] binaries instead of [static] binaries in [documentation.update]

What

  1. Replaces static build jobs with dynamic build jobs in documentation.update.
  2. Adds ci/run_pipeline/documentation.update.sh to generate test documentation.update pipelines.

Why

  1. [octez-snoop] was missing which led to a doc subpage being absent.
  2. ci/run_pipeline/documentation.update.sh is handy to generate test documentation.update pipelines.

How

ci/run_pipeline/documentation.update.sh

We just adapt ci/run_pipeline/documentation.daily.sh.

[octez-snoop]

In docs/ci:

  • select dynamic binaries in job_build_all
  • add relevant dynamic build jobs and remove static build job in legacy_needs Then generate the yaml.

Manually testing the MR

  1. Review CI code diff:
  • make -C ci check should pass
  • for the yaml diff, you may want to use ciaodiff to convince yourself that the diff in {before_merging|merge_train|documentation.daily}.yml is just job reorderings
  • in documentation.update.yml observe that static build job has been replaced with dynamic build jobs.
make -C ci
dune exec ci/ciaodiff/main.exe -- --origin HEAD^ before_merging
dune exec ci/ciaodiff/main.exe -- --origin HEAD^ merge_train
dune exec ci/ciaodiff/main.exe -- --origin HEAD^ documentation.daily
dune exec ci/ciaodiff/main.exe -- --origin HEAD^ documentation.update
  1. Review test pipelines to see that octez-snoop is now available.

There are two documentation.update test pipelines:

NB: in both cases, documentation.publish is red because the pipeline does not run on master (which is actually a good thing since we don't want to accidentally update the public-facing doc).

Compare the documentation.manuals jobs and observe that

  1. Check that the manual is available for octez-snoop:
  1. Review the doc diff:

Compare the artifacts of both documentation.build_all jobs (with static binaries, with dynamic binaries).

In attachment, you will find

The diff contains mostly mundane such as

############################################################
## DIFF for: _build/protocols/naming.html
############################################################
--- docs_static/_build/protocols/naming.html	2025-12-11 11:03:49
+++ docs_dynamic/_build/protocols/naming.html	2025-12-11 11:16:03
@@ -45,7 +45,7 @@
 
     <script src="../_static/jquery.js?v=5d32c60e"></script>
     <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-    <script src="../_static/documentation_options.js?v=76895256"></script>
+    <script src="../_static/documentation_options.js?v=7b12907a"></script>
     <script src="../_static/doctools.js?v=9a2dae69"></script>
     <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/clipboard.min.js?v=a7894cd8"></script>

As well as the diff related to the octez-snoop subpage.

Further work:

  • use dynamic binaries for documentation.daily as well and then simplify the CI code (#8169 (closed))
  • streamlining of documentation jobs (#8170):
    • review binary dependencies and removes non-needed ones
    • merge documentation.manuals into documentation.build_all as the script step duration of documentation.manuals is < 10s, negligeable during the time to start the pod.

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR

Closes #8168 (closed)

Edited by Bruno B

Merge request reports

Loading