CI/Docs: build only [dynamic] binaries for documentation jobs
What
Closes #8169 (closed).
Similarly to !20206 (merged) but for documentation.daily pipelines, we use dynamic Octez binaries instead of static ones to build the Octez developer documentation.
We can then remove all static build jobs in documentation pipelines, which leads to the cleaning of some code.
Why
- We need
octez-snoopto build the full doc and this binary is not provided by the static build job. - Using the same build jobs everywhere simplifies the codebase. Furthermore it means that
documentation.dailytests exactly what happens during thedocumentation.updatepipeline (the latter being used to update the public facing Octez developer documentation).
How
- The first commit is similar to the second commit of !20206 (merged) but for
documentation.daily. - The second commit removes the machinery used in
docs/cito select either dynamic or static binaries, since we now only use dynamic ones. - The third and last commit removes the ad-hoc
documentation:manuals_static.shscript used for static binaries.
Manually testing the MR
- Review CI code diff:
-
make -C ci checkshould pass - for the yaml diff, you may want to use
ciaodiffto convince yourself that the diff in{before_merging|merge_train|documentation.update}.ymlis just job reorderings - in
documentation.daily.ymlobserve 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
- Review test pipelines to see that octez-snoop is now available.
There are two documentation.daily test pipelines:
-
documentation.dailywith [static] binaries: https://gitlab.com/tezos/tezos/-/pipelines/2209264496 -
documentation.dailywith [dynamic] binaries: https://gitlab.com/tezos/tezos/-/pipelines/2209323920
NB: documentation.linkcheck failed but that it is independent of the MR (cf. the run in the latest documentation.daily pipeline: https://gitlab.com/tezos/tezos/-/jobs/12397497798).
Compare the documentation.manuals jobs and observe that
- a) in the first run
octez-snoopis declared as missing (https://gitlab.com/tezos/tezos/-/jobs/12403148420#L75) and - b) in the second run, this message is not present in the logs (https://gitlab.com/tezos/tezos/-/jobs/12403552988#L64).
- Check that the manual is available for octez-snoop:
- new version: https://tezos.gitlab.io/-/tezos/-/jobs/12403553005/artifacts/docs/_build/shell/cli-commands.html#benchmark-tool-manual
- current version: https://tezos.gitlab.io/-/tezos/-/jobs/12403148427/artifacts/docs/_build/shell/cli-commands.html#benchmark-tool-manual
- Review the doc diff:
Given the nature of the changes (similar to !20206 (merged) and for a test pipeline), I'm not sure if it is completely necessary to do a full comparison as we did in !20206 (merged)
I can of course re-run the script if requested by a reviewer.
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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the
Reviewersfield below. -
Select as
Assigneethe next person who should take action on that MR