From b0871e76dc197ec2c99228e56a04f6d8b9be875c Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Thu, 11 Dec 2025 13:51:48 +0100 Subject: [PATCH 1/3] CI/Docs: build [dynamic] binaries instead of [static] binaries in [documentation.daily] --- .gitlab/ci/pipelines/documentation.daily.yml | 284 ++++++++++++++++--- docs/ci/documentation_ci.ml | 14 +- 2 files changed, 260 insertions(+), 38 deletions(-) diff --git a/.gitlab/ci/pipelines/documentation.daily.yml b/.gitlab/ci/pipelines/documentation.daily.yml index 6d8de4aa658d..4669a80470e8 100644 --- a/.gitlab/ci/pipelines/documentation.daily.yml +++ b/.gitlab/ci/pipelines/documentation.daily.yml @@ -34,6 +34,32 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env +oc.docker:rust-toolchain:amd64: + image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 + stage: images + tags: + - gcp + dependencies: [] + timeout: 60 minutes + before_script: + - SCRIPT_STEP_BEGIN=$(date +%s) + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + script: + - ./scripts/ci/docker_rust_toolchain_build.sh + - . ./scripts/ci/datadog_send_job_script_step_time.sh || true + after_script: + - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.7 + CI_DOCKER_HUB: "false" + IMAGE: ${GCP_PROTECTED_REGISTRY}/tezos/tezos/debian-rust:unstable + artifacts: + reports: + dotenv: rust_toolchain_image_tag.env + datadog_pipeline_trace: image: datadog/ci:v4.1.0 stage: start @@ -55,7 +81,7 @@ datadog_pipeline_trace: after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' -oc.build:static-x86_64-linux-binaries: +oc.build_x86_64-released: image: ${ci_image_name}/build:${ci_image_tag} stage: build tags: @@ -76,60 +102,172 @@ oc.build:static-x86_64-linux-binaries: - SCRIPT_STEP_BEGIN=$(date +%s) - . ./scripts/ci/datadog_send_job_info.sh - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh - eval $(opam env) - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' - . ./scripts/ci/sccache-start.sh script: - - ./scripts/ci/build_static_binaries.sh + - ./scripts/ci/build_full_unreleased.sh - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - DUNE_BUILD_JOBS: -j 12 + EXECUTABLE_FILES: script-inputs/released-executables CARGO_NET_OFFLINE: "false" CARGO_INCREMENTAL: "0" SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET - SCCACHE_GCS_RW_MODE: READ_ONLY + SCCACHE_GCS_RW_MODE: READ_WRITE SCCACHE_GCS_KEY_PREFIX: sccache SCCACHE_IGNORE_SERVER_IO_ERROR: "1" SCCACHE_IDLE_TIMEOUT: "0" artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day paths: - - octez-binaries/$ARCH/* + - octez-* + - src/proto_*/parameters/*.json + when: on_success -documentation.rst-check: - image: ${ci_image_name_protected}/test:amd64--master - stage: test +oc.build_amd64-extra-dev: + image: ${ci_image_name}/build:${ci_image_tag} + stage: build tags: - - gcp - needs: [] - dependencies: [] + - gcp_very_high_cpu + rules: + - when: always + needs: + - oc.docker:ci:amd64 + dependencies: + - oc.docker:ci:amd64 timeout: 60 minutes - interruptible: false + cache: + - key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push + - key: dune-build-cache-$CI_PIPELINE_ID + paths: + - $CI_PROJECT_DIR/_dune_cache + policy: push before_script: - SCRIPT_STEP_BEGIN=$(date +%s) - . ./scripts/ci/datadog_send_job_info.sh + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + - . ./scripts/ci/sccache-start.sh script: - - . $HOME/.venv/bin/activate - - make --silent -C docs sphinx-check + - ./scripts/ci/build_full_unreleased.sh - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + - ./scripts/ci/sccache-stop.sh + - eval $(opam env) + - dune cache trim --size=5GB + variables: + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/dev-executables + BUILD_EXTRA: src/bin_tps_evaluation/main_tps_evaluation.exe src/bin_octogram/octogram_main.exe + tezt/tests/main.exe contrib/octez_injector_server/octez_injector_server.exe + CARGO_NET_OFFLINE: "false" + CARGO_INCREMENTAL: "0" + SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET + SCCACHE_GCS_RW_MODE: READ_WRITE + SCCACHE_GCS_KEY_PREFIX: sccache + SCCACHE_IGNORE_SERVER_IO_ERROR: "1" + SCCACHE_IDLE_TIMEOUT: "0" + DUNE_CACHE: enabled + DUNE_CACHE_STORAGE_MODE: hardlink + DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - octez-teztale-* + - src/proto_*/parameters/*.json + - _build/default/src/lib_protocol_compiler/bin/main_native.exe + - _build/default/tezt/tests/main.exe + - _build/default/contrib/octez_injector_server/octez_injector_server.exe + - etherlink-governance-observer + when: on_success -documentation.docgen: - image: ${ci_image_name}/test:${ci_image_tag} +oc.build_amd64-exp: + image: ${ci_image_name}/build:${ci_image_tag} stage: build tags: - gcp_very_high_cpu + rules: + - when: always needs: - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes + cache: + - key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push + - key: dune-build-cache-$CI_PIPELINE_ID + paths: + - $CI_PROJECT_DIR/_dune_cache + policy: push + before_script: + - SCRIPT_STEP_BEGIN=$(date +%s) + - . ./scripts/ci/datadog_send_job_info.sh + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + - . ./scripts/ci/sccache-start.sh + script: + - ./scripts/ci/build_full_unreleased.sh + - . ./scripts/ci/datadog_send_job_script_step_time.sh || true + after_script: + - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + - ./scripts/ci/sccache-stop.sh + - eval $(opam env) + - dune cache trim --size=5GB + variables: + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/experimental-executables + CARGO_NET_OFFLINE: "false" + CARGO_INCREMENTAL: "0" + SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET + SCCACHE_GCS_RW_MODE: READ_WRITE + SCCACHE_GCS_KEY_PREFIX: sccache + SCCACHE_IGNORE_SERVER_IO_ERROR: "1" + SCCACHE_IDLE_TIMEOUT: "0" + DUNE_CACHE: enabled + DUNE_CACHE_STORAGE_MODE: hardlink + DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - octez-teztale-* + - src/proto_*/parameters/*.json + - _build/default/src/lib_protocol_compiler/bin/main_native.exe + - _build/default/tezt/tests/main.exe + - _build/default/contrib/octez_injector_server/octez_injector_server.exe + - etherlink-governance-observer + when: on_success + +oc.build_kernels: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: build + tags: + - gcp_very_high_cpu + needs: + - oc.docker:rust-toolchain:amd64 + dependencies: + - oc.docker:rust-toolchain:amd64 + timeout: 60 minutes cache: key: cargo-$CI_JOB_NAME_SLUG paths: @@ -142,30 +280,55 @@ documentation.docgen: - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' - . ./scripts/ci/sccache-start.sh script: - - eval $(opam env) - - make -C docs -j docexes-gen + - make -f kernels.mk build + - make -f etherlink.mk evm_kernel.wasm - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' - ./scripts/ci/sccache-stop.sh variables: + CC: clang + NATIVE_TARGET: x86_64-unknown-linux-musl CARGO_NET_OFFLINE: "false" CARGO_INCREMENTAL: "0" SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET - SCCACHE_GCS_RW_MODE: READ_ONLY + SCCACHE_GCS_RW_MODE: READ_WRITE SCCACHE_GCS_KEY_PREFIX: sccache SCCACHE_IGNORE_SERVER_IO_ERROR: "1" SCCACHE_IDLE_TIMEOUT: "0" artifacts: - expire_in: 1 week + name: build-kernels-$CI_COMMIT_REF_SLUG + expire_in: 1 day paths: - - docs/alpha/rpc.rst - - docs/shell/rpc.rst - - docs/user/default-acl.json - - docs/api/errors.rst - - docs/shell/p2p_api.rst + - evm_kernel.wasm + - smart-rollup-installer + - sequenced_kernel.wasm + - tx_kernel.wasm + - tx_kernel_dal.wasm + - dal_echo_kernel.wasm + when: on_success -documentation.odoc: +documentation.rst-check: + image: ${ci_image_name_protected}/test:amd64--master + stage: test + tags: + - gcp + needs: [] + dependencies: [] + timeout: 60 minutes + interruptible: false + before_script: + - SCRIPT_STEP_BEGIN=$(date +%s) + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + script: + - . $HOME/.venv/bin/activate + - make --silent -C docs sphinx-check + - . ./scripts/ci/datadog_send_job_script_step_time.sh || true + after_script: + - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + +documentation.docgen: image: ${ci_image_name}/test:${ci_image_tag} stage: build tags: @@ -188,7 +351,7 @@ documentation.odoc: - . ./scripts/ci/sccache-start.sh script: - eval $(opam env) - - make -C docs odoc-lite + - make -C docs -j docexes-gen - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' @@ -202,11 +365,13 @@ documentation.odoc: SCCACHE_IGNORE_SERVER_IO_ERROR: "1" SCCACHE_IDLE_TIMEOUT: "0" artifacts: - expire_in: 4 hours + expire_in: 1 week paths: - - docs/_build/api/odoc/ - - docs/odoc.log - when: always + - docs/alpha/rpc.rst + - docs/shell/rpc.rst + - docs/user/default-acl.json + - docs/api/errors.rst + - docs/shell/p2p_api.rst documentation.manuals: image: ${ci_image_name}/test:${ci_image_tag} @@ -215,10 +380,16 @@ documentation.manuals: - gcp needs: - oc.docker:ci:amd64 - - oc.build:static-x86_64-linux-binaries + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels dependencies: - oc.docker:ci:amd64 - - oc.build:static-x86_64-linux-binaries + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels timeout: 60 minutes interruptible: false before_script: @@ -227,7 +398,7 @@ documentation.manuals: - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' script: - eval $(opam env) - - scripts/ci/documentation:manuals_static.sh + - make -C docs -j octez-gen - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' @@ -240,6 +411,49 @@ documentation.manuals: - docs/developer/rollup_metrics.csv - docs/user/node-config.json +documentation.odoc: + image: ${ci_image_name}/test:${ci_image_tag} + stage: build + tags: + - gcp_very_high_cpu + needs: + - oc.docker:ci:amd64 + dependencies: + - oc.docker:ci:amd64 + timeout: 60 minutes + cache: + key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push + interruptible: false + before_script: + - SCRIPT_STEP_BEGIN=$(date +%s) + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + - . ./scripts/ci/sccache-start.sh + script: + - eval $(opam env) + - make -C docs odoc-lite + - . ./scripts/ci/datadog_send_job_script_step_time.sh || true + after_script: + - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + - ./scripts/ci/sccache-stop.sh + variables: + CARGO_NET_OFFLINE: "false" + CARGO_INCREMENTAL: "0" + SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET + SCCACHE_GCS_RW_MODE: READ_ONLY + SCCACHE_GCS_KEY_PREFIX: sccache + SCCACHE_IGNORE_SERVER_IO_ERROR: "1" + SCCACHE_IDLE_TIMEOUT: "0" + artifacts: + expire_in: 4 hours + paths: + - docs/_build/api/odoc/ + - docs/odoc.log + when: always + documentation.build_all: image: ${ci_image_name}/test:${ci_image_tag} stage: build diff --git a/docs/ci/documentation_ci.ml b/docs/ci/documentation_ci.ml index 29fb70750cab..1473ad18d694 100644 --- a/docs/ci/documentation_ci.ml +++ b/docs/ci/documentation_ci.ml @@ -271,14 +271,22 @@ let register () = CI.register_scheduled_pipeline "daily" ~description:"Daily tests to run for the documentation." - ~legacy_jobs:[Tezos_ci_jobs.Master_branch.job_static_x86_64] + ~legacy_jobs: + [ + Tezos_ci_jobs.Code_verification.job_build_x86_64_release + Schedule_extended_test; + Tezos_ci_jobs.Code_verification.job_build_x86_64_extra_dev + Schedule_extended_test; + Tezos_ci_jobs.Code_verification.job_build_x86_64_exp + Schedule_extended_test; + ] [ (Auto, job_rst_check); (Auto, job_install_python `ubuntu_noble `master); (Auto, job_install_python `ubuntu_jammy `master); (Auto, job_install_python `debian_bookworm `master); - (Auto, job_build_all `lite `static); - (Auto, job_linkcheck `lite `static); + (Auto, job_build_all `lite `dynamic); + (Auto, job_linkcheck `lite `dynamic); ] ; CI.register_scheduled_pipeline "update" -- GitLab From d9fc060d1bd0a7ec9f0f93ecdf0cefba79d976f0 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Thu, 11 Dec 2025 13:58:45 +0100 Subject: [PATCH 2/3] CI/Docs: remove unused code for [static] binaries build YAML diff should be just reordering. --- .gitlab/ci/pipelines/before_merging.yml | 78 +++++++++---------- .gitlab/ci/pipelines/documentation.daily.yml | 76 +++++++++--------- .gitlab/ci/pipelines/documentation.update.yml | 76 +++++++++--------- .gitlab/ci/pipelines/merge_train.yml | 78 +++++++++---------- docs/ci/documentation_ci.ml | 57 ++++++-------- 5 files changed, 176 insertions(+), 189 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index 0552ed9419ea..6e5777078ed9 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -3274,11 +3274,11 @@ documentation.rst-check: after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' -documentation.docgen: +documentation.manuals: image: ${ci_image_name}/test:${ci_image_tag} stage: build tags: - - gcp_very_high_cpu + - gcp rules: - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ when: on_success @@ -3302,49 +3302,42 @@ documentation.docgen: when: on_success needs: - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels dependencies: - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels timeout: 60 minutes - cache: - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push interruptible: true before_script: - SCRIPT_STEP_BEGIN=$(date +%s) - . ./scripts/ci/datadog_send_job_info.sh - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' - - . ./scripts/ci/sccache-start.sh script: - eval $(opam env) - - make -C docs -j docexes-gen + - make -C docs -j octez-gen - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - CARGO_INCREMENTAL: "0" - SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET - SCCACHE_GCS_RW_MODE: READ_ONLY - SCCACHE_GCS_KEY_PREFIX: sccache - SCCACHE_IGNORE_SERVER_IO_ERROR: "1" - SCCACHE_IDLE_TIMEOUT: "0" artifacts: expire_in: 1 week paths: - - docs/alpha/rpc.rst - - docs/shell/rpc.rst - - docs/user/default-acl.json - - docs/api/errors.rst - - docs/shell/p2p_api.rst + - docs/*/octez-*.html + - docs/api/octez-*.txt + - docs/developer/metrics.csv + - docs/developer/rollup_metrics.csv + - docs/user/node-config.json -documentation.manuals: +documentation.docgen: image: ${ci_image_name}/test:${ci_image_tag} stage: build tags: - - gcp + - gcp_very_high_cpu rules: - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ when: on_success @@ -3368,36 +3361,43 @@ documentation.manuals: when: on_success needs: - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels dependencies: - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels timeout: 60 minutes + cache: + key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push interruptible: true before_script: - SCRIPT_STEP_BEGIN=$(date +%s) - . ./scripts/ci/datadog_send_job_info.sh - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + - . ./scripts/ci/sccache-start.sh script: - eval $(opam env) - - make -C docs -j octez-gen + - make -C docs -j docexes-gen - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + - ./scripts/ci/sccache-stop.sh + variables: + CARGO_NET_OFFLINE: "false" + CARGO_INCREMENTAL: "0" + SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET + SCCACHE_GCS_RW_MODE: READ_ONLY + SCCACHE_GCS_KEY_PREFIX: sccache + SCCACHE_IGNORE_SERVER_IO_ERROR: "1" + SCCACHE_IDLE_TIMEOUT: "0" artifacts: expire_in: 1 week paths: - - docs/*/octez-*.html - - docs/api/octez-*.txt - - docs/developer/metrics.csv - - docs/developer/rollup_metrics.csv - - docs/user/node-config.json + - docs/alpha/rpc.rst + - docs/shell/rpc.rst + - docs/user/default-acl.json + - docs/api/errors.rst + - docs/shell/p2p_api.rst client-libs.kaitai_checks: image: ${ci_image_name}/build:${ci_image_tag} diff --git a/.gitlab/ci/pipelines/documentation.daily.yml b/.gitlab/ci/pipelines/documentation.daily.yml index 4669a80470e8..77dacafaba5a 100644 --- a/.gitlab/ci/pipelines/documentation.daily.yml +++ b/.gitlab/ci/pipelines/documentation.daily.yml @@ -328,6 +328,44 @@ documentation.rst-check: after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' +documentation.manuals: + image: ${ci_image_name}/test:${ci_image_tag} + stage: build + tags: + - gcp + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels + timeout: 60 minutes + interruptible: false + before_script: + - SCRIPT_STEP_BEGIN=$(date +%s) + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + script: + - eval $(opam env) + - make -C docs -j octez-gen + - . ./scripts/ci/datadog_send_job_script_step_time.sh || true + after_script: + - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + artifacts: + expire_in: 1 week + paths: + - docs/*/octez-*.html + - docs/api/octez-*.txt + - docs/developer/metrics.csv + - docs/developer/rollup_metrics.csv + - docs/user/node-config.json + documentation.docgen: image: ${ci_image_name}/test:${ci_image_tag} stage: build @@ -373,44 +411,6 @@ documentation.docgen: - docs/api/errors.rst - docs/shell/p2p_api.rst -documentation.manuals: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels - timeout: 60 minutes - interruptible: false - before_script: - - SCRIPT_STEP_BEGIN=$(date +%s) - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' - script: - - eval $(opam env) - - make -C docs -j octez-gen - - . ./scripts/ci/datadog_send_job_script_step_time.sh || true - after_script: - - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' - artifacts: - expire_in: 1 week - paths: - - docs/*/octez-*.html - - docs/api/octez-*.txt - - docs/developer/metrics.csv - - docs/developer/rollup_metrics.csv - - docs/user/node-config.json - documentation.odoc: image: ${ci_image_name}/test:${ci_image_tag} stage: build diff --git a/.gitlab/ci/pipelines/documentation.update.yml b/.gitlab/ci/pipelines/documentation.update.yml index f711268a7a37..38a49a909e5a 100644 --- a/.gitlab/ci/pipelines/documentation.update.yml +++ b/.gitlab/ci/pipelines/documentation.update.yml @@ -308,6 +308,44 @@ oc.build_kernels: - dal_echo_kernel.wasm when: on_success +documentation.manuals: + image: ${ci_image_name}/test:${ci_image_tag} + stage: build + tags: + - gcp + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels + timeout: 60 minutes + interruptible: false + before_script: + - SCRIPT_STEP_BEGIN=$(date +%s) + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + script: + - eval $(opam env) + - make -C docs -j octez-gen + - . ./scripts/ci/datadog_send_job_script_step_time.sh || true + after_script: + - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + artifacts: + expire_in: 1 week + paths: + - docs/*/octez-*.html + - docs/api/octez-*.txt + - docs/developer/metrics.csv + - docs/developer/rollup_metrics.csv + - docs/user/node-config.json + documentation.docgen: image: ${ci_image_name}/test:${ci_image_tag} stage: build @@ -353,44 +391,6 @@ documentation.docgen: - docs/api/errors.rst - docs/shell/p2p_api.rst -documentation.manuals: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels - timeout: 60 minutes - interruptible: false - before_script: - - SCRIPT_STEP_BEGIN=$(date +%s) - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' - script: - - eval $(opam env) - - make -C docs -j octez-gen - - . ./scripts/ci/datadog_send_job_script_step_time.sh || true - after_script: - - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' - artifacts: - expire_in: 1 week - paths: - - docs/*/octez-*.html - - docs/api/octez-*.txt - - docs/developer/metrics.csv - - docs/developer/rollup_metrics.csv - - docs/user/node-config.json - documentation.odoc: image: ${ci_image_name}/test:${ci_image_tag} stage: build diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 609bfc4c3f25..1efbc5f6449b 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -3208,11 +3208,11 @@ documentation.rst-check: after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' -documentation.docgen: +documentation.manuals: image: ${ci_image_name}/test:${ci_image_tag} stage: build tags: - - gcp_very_high_cpu + - gcp rules: - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ when: on_success @@ -3236,49 +3236,42 @@ documentation.docgen: when: on_success needs: - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels dependencies: - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_amd64-extra-dev + - oc.build_amd64-exp + - oc.build_kernels timeout: 60 minutes - cache: - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push interruptible: true before_script: - SCRIPT_STEP_BEGIN=$(date +%s) - . ./scripts/ci/datadog_send_job_info.sh - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' - - . ./scripts/ci/sccache-start.sh script: - eval $(opam env) - - make -C docs -j docexes-gen + - make -C docs -j octez-gen - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - CARGO_INCREMENTAL: "0" - SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET - SCCACHE_GCS_RW_MODE: READ_ONLY - SCCACHE_GCS_KEY_PREFIX: sccache - SCCACHE_IGNORE_SERVER_IO_ERROR: "1" - SCCACHE_IDLE_TIMEOUT: "0" artifacts: expire_in: 1 week paths: - - docs/alpha/rpc.rst - - docs/shell/rpc.rst - - docs/user/default-acl.json - - docs/api/errors.rst - - docs/shell/p2p_api.rst + - docs/*/octez-*.html + - docs/api/octez-*.txt + - docs/developer/metrics.csv + - docs/developer/rollup_metrics.csv + - docs/user/node-config.json -documentation.manuals: +documentation.docgen: image: ${ci_image_name}/test:${ci_image_tag} stage: build tags: - - gcp + - gcp_very_high_cpu rules: - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ when: on_success @@ -3302,36 +3295,43 @@ documentation.manuals: when: on_success needs: - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels dependencies: - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_amd64-extra-dev - - oc.build_amd64-exp - - oc.build_kernels timeout: 60 minutes + cache: + key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push interruptible: true before_script: - SCRIPT_STEP_BEGIN=$(date +%s) - . ./scripts/ci/datadog_send_job_info.sh - . ./scripts/ci/datadog_send_job_cache_info.sh 'before' + - . ./scripts/ci/sccache-start.sh script: - eval $(opam env) - - make -C docs -j octez-gen + - make -C docs -j docexes-gen - . ./scripts/ci/datadog_send_job_script_step_time.sh || true after_script: - . ./scripts/ci/datadog_send_job_cache_info.sh 'after' + - ./scripts/ci/sccache-stop.sh + variables: + CARGO_NET_OFFLINE: "false" + CARGO_INCREMENTAL: "0" + SCCACHE_GCS_BUCKET: $GCP_SCCACHE_BUCKET + SCCACHE_GCS_RW_MODE: READ_ONLY + SCCACHE_GCS_KEY_PREFIX: sccache + SCCACHE_IGNORE_SERVER_IO_ERROR: "1" + SCCACHE_IDLE_TIMEOUT: "0" artifacts: expire_in: 1 week paths: - - docs/*/octez-*.html - - docs/api/octez-*.txt - - docs/developer/metrics.csv - - docs/developer/rollup_metrics.csv - - docs/user/node-config.json + - docs/alpha/rpc.rst + - docs/shell/rpc.rst + - docs/user/default-acl.json + - docs/api/errors.rst + - docs/shell/p2p_api.rst client-libs.kaitai_checks: image: ${ci_image_name}/build:${ci_image_tag} diff --git a/docs/ci/documentation_ci.ml b/docs/ci/documentation_ci.ml index 1473ad18d694..b8f12d3a7e92 100644 --- a/docs/ci/documentation_ci.ml +++ b/docs/ci/documentation_ci.ml @@ -113,7 +113,6 @@ let job_odoc = ["eval $(opam env)"; "make -C docs " ^ target] let job_manuals = - Cacio.parameterize @@ fun executables_to_use -> CI.job "manuals" ~__POS__ @@ -122,26 +121,19 @@ let job_manuals = ~description: "Build the command-line interface manuals (man pages) of Octez \ executables." - ~needs: - (match executables_to_use with - | `dynamic -> [(Artifacts, Tezos_ci_jobs.Kernels.job_build_kernels)] - | `static -> []) + ~needs:[(Artifacts, Tezos_ci_jobs.Kernels.job_build_kernels)] ~needs_legacy: - (match executables_to_use with - | `dynamic -> - (* It's ok to assume Before_merging here because we only care about the job name. *) - [ - ( Artifacts, - Tezos_ci_jobs.Code_verification.job_build_x86_64_release - Before_merging ); - ( Artifacts, - Tezos_ci_jobs.Code_verification.job_build_x86_64_extra_dev - Before_merging ); - ( Artifacts, - Tezos_ci_jobs.Code_verification.job_build_x86_64_exp - Before_merging ); - ] - | `static -> [(Artifacts, Tezos_ci_jobs.Master_branch.job_static_x86_64)]) + (* It's ok to assume Before_merging here because we only care about the job name. *) + [ + ( Artifacts, + Tezos_ci_jobs.Code_verification.job_build_x86_64_release + Before_merging ); + ( Artifacts, + Tezos_ci_jobs.Code_verification.job_build_x86_64_extra_dev + Before_merging ); + ( Artifacts, + Tezos_ci_jobs.Code_verification.job_build_x86_64_exp Before_merging ); + ] ~only_if_changed:Files.odoc ~force_if_label:["ci--docs"] ~artifacts: @@ -154,11 +146,7 @@ let job_manuals = "docs/developer/rollup_metrics.csv"; "docs/user/node-config.json"; ]) - ("eval $(opam env)" - :: - (match executables_to_use with - | `dynamic -> ["make -C docs -j octez-gen"] - | `static -> ["scripts/ci/documentation:manuals_static.sh"])) + ["eval $(opam env)"; "make -C docs -j octez-gen"] let job_docgen = CI.job @@ -188,7 +176,6 @@ let job_docgen = let job_build_all = Cacio.parameterize @@ fun mode -> - Cacio.parameterize @@ fun executables_to_use -> CI.job "build_all" ~__POS__ @@ -200,7 +187,7 @@ let job_build_all = ~needs: [ (Artifacts, job_odoc mode); - (Artifacts, job_manuals executables_to_use); + (Artifacts, job_manuals); (Artifacts, job_docgen); ] ~artifacts: @@ -217,7 +204,7 @@ let job_build_all = ] let job_linkcheck = - Cacio.parameterize @@ fun mode executables_to_use -> + Cacio.parameterize @@ fun mode -> CI.job "linkcheck" ~__POS__ @@ -228,9 +215,9 @@ let job_linkcheck = ~force_if_label:["ci--docs"] ~needs: [ - (Artifacts, job_manuals executables_to_use); + (Artifacts, job_manuals); (Artifacts, job_docgen); - (Artifacts, job_build_all mode executables_to_use); + (Artifacts, job_build_all mode); ] ~allow_failure:Yes [ @@ -248,7 +235,7 @@ let job_publish = ~image:Tezos_ci.Images.CI.test ~stage:Publish ~description:"Publish the documentation to octez.com/docs." - ~needs:[(Artifacts, job_build_all `full `dynamic)] + ~needs:[(Artifacts, job_build_all `full)] ~cargo_cache:true ~sccache:(Cacio.sccache ()) [ @@ -265,8 +252,8 @@ let register () = [ (Immediate, job_rst_check); (Auto, job_install_python `debian_bookworm `current_branch); - (Auto, job_build_all `lite `dynamic); - (Manual, job_linkcheck `lite `dynamic); + (Auto, job_build_all `lite); + (Manual, job_linkcheck `lite); ] ; CI.register_scheduled_pipeline "daily" @@ -285,8 +272,8 @@ let register () = (Auto, job_install_python `ubuntu_noble `master); (Auto, job_install_python `ubuntu_jammy `master); (Auto, job_install_python `debian_bookworm `master); - (Auto, job_build_all `lite `dynamic); - (Auto, job_linkcheck `lite `dynamic); + (Auto, job_build_all `lite); + (Auto, job_linkcheck `lite); ] ; CI.register_scheduled_pipeline "update" -- GitLab From a7e7c067146e6696435724c29152db736808e834 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Thu, 11 Dec 2025 14:01:49 +0100 Subject: [PATCH 3/3] CI/Scripts: remove [documentation:manuals_static.sh] Was only used in [documentation.manuals] beforehand, now not used anywhere. --- scripts/ci/documentation:manuals_static.sh | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100755 scripts/ci/documentation:manuals_static.sh diff --git a/scripts/ci/documentation:manuals_static.sh b/scripts/ci/documentation:manuals_static.sh deleted file mode 100755 index 470942479d5b..000000000000 --- a/scripts/ci/documentation:manuals_static.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -set -e - -# Static executables are located in octez-binaries/x86_64, -# but the 'octez-gen' make target expects them at the root of the project. -# This script thus moves those executables. - -# We use a for loop instead of mv to be able to print the list of executables -# that we found. -for file in octez-binaries/x86_64/octez-*; do - echo "mv $file $PWD" - mv "$file" . -done - -echo "make -C docs -j octez-gen" -make -C docs -j octez-gen -- GitLab