diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index fe93da6721c11295116bca5a717b9b3cb3cb8327..0552ed9419eaa93bb3f32617f6a1c75ab5de162c 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -3340,6 +3340,65 @@ 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 + rules: + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - changes: + - '**/*.rst' + - brassaia/**/*.ml* + - client-libs/**/*.ml* + - data-encoding/**/*.ml* + - docs/**/* + - dune + - dune-project + - dune-workspace + - etherlink/**/*.ml* + - grafazos/doc/**/* + - irmin/**/*.ml* + - script-inputs/**/*/ + - scripts/**/*/ + - src/**/*.ml* + - tezt/**/*.ml* + - vendors/**/*.ml* + 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 + 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' + 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 + client-libs.kaitai_checks: image: ${ci_image_name}/build:${ci_image_tag} stage: test @@ -3567,65 +3626,6 @@ teztale.build-x86_64: - teztale-binaries/x86_64/octez-teztale-* when: on_success -documentation.manuals: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - '**/*.rst' - - brassaia/**/*.ml* - - client-libs/**/*.ml* - - data-encoding/**/*.ml* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/*.ml* - - grafazos/doc/**/* - - irmin/**/*.ml* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/*.ml* - - tezt/**/*.ml* - - vendors/**/*.ml* - 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 - 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' - 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.daily.yml b/.gitlab/ci/pipelines/documentation.daily.yml index 0a3ffbb913882b20f687090da3c6f9eb30e99b2a..6d8de4aa658d5186883f969d64f45d84f7e6fa6b 100644 --- a/.gitlab/ci/pipelines/documentation.daily.yml +++ b/.gitlab/ci/pipelines/documentation.daily.yml @@ -165,38 +165,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:static-x86_64-linux-binaries - dependencies: - - oc.docker:ci:amd64 - - oc.build:static-x86_64-linux-binaries - 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) - - scripts/ci/documentation:manuals_static.sh - - . ./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 @@ -240,6 +208,38 @@ documentation.odoc: - docs/odoc.log when: always +documentation.manuals: + image: ${ci_image_name}/test:${ci_image_tag} + stage: build + tags: + - gcp + needs: + - oc.docker:ci:amd64 + - oc.build:static-x86_64-linux-binaries + dependencies: + - oc.docker:ci:amd64 + - oc.build:static-x86_64-linux-binaries + 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) + - scripts/ci/documentation:manuals_static.sh + - . ./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.build_all: 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 272016fd52409a21b43bc2fda0643f633077d743..f711268a7a3733983cc64e0ee1d4f5ac8b6df9de 100644 --- a/.gitlab/ci/pipelines/documentation.update.yml +++ b/.gitlab/ci/pipelines/documentation.update.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,29 +102,211 @@ 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-* + - src/proto_*/parameters/*.json + when: on_success + +oc.build_amd64-extra-dev: + 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/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 + +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: + - $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: + - 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_WRITE SCCACHE_GCS_KEY_PREFIX: sccache SCCACHE_IGNORE_SERVER_IO_ERROR: "1" SCCACHE_IDLE_TIMEOUT: "0" artifacts: + name: build-kernels-$CI_COMMIT_REF_SLUG + expire_in: 1 day paths: - - octez-binaries/$ARCH/* + - evm_kernel.wasm + - smart-rollup-installer + - sequenced_kernel.wasm + - tx_kernel.wasm + - tx_kernel_dal.wasm + - dal_echo_kernel.wasm + when: on_success documentation.docgen: image: ${ci_image_name}/test:${ci_image_tag} @@ -152,10 +360,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: @@ -164,7 +378,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' diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 28ce9b980aab158ee75060d7ba094ff1ad515c91..609bfc4c3f2570b48a677ed924a6364a463561fa 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -3274,6 +3274,65 @@ 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 + rules: + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - changes: + - '**/*.rst' + - brassaia/**/*.ml* + - client-libs/**/*.ml* + - data-encoding/**/*.ml* + - docs/**/* + - dune + - dune-project + - dune-workspace + - etherlink/**/*.ml* + - grafazos/doc/**/* + - irmin/**/*.ml* + - script-inputs/**/*/ + - scripts/**/*/ + - src/**/*.ml* + - tezt/**/*.ml* + - vendors/**/*.ml* + 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 + 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' + 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 + client-libs.kaitai_checks: image: ${ci_image_name}/build:${ci_image_tag} stage: test @@ -3501,65 +3560,6 @@ teztale.build-x86_64: - teztale-binaries/x86_64/octez-teztale-* when: on_success -documentation.manuals: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - '**/*.rst' - - brassaia/**/*.ml* - - client-libs/**/*.ml* - - data-encoding/**/*.ml* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/*.ml* - - grafazos/doc/**/* - - irmin/**/*.ml* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/*.ml* - - tezt/**/*.ml* - - vendors/**/*.ml* - 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 - 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' - 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/ci/run_pipeline/documentation.update.sh b/ci/run_pipeline/documentation.update.sh new file mode 100755 index 0000000000000000000000000000000000000000..30c6c7d8b7047c8fcca3edd3735a57231b522927 --- /dev/null +++ b/ci/run_pipeline/documentation.update.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +SCRIPT_DIR="$(cd "$(dirname "$0")" && echo "$(pwd -P)/")" +cd "$SCRIPT_DIR" || exit + +TZ_SCHEDULE_KIND=documentation.update ./scheduled.sh diff --git a/docs/ci/documentation_ci.ml b/docs/ci/documentation_ci.ml index 883b40ced5bb78a903e567b85c53ef99977acd83..29fb70750cab057c338cc7df0643242f71cfb3d0 100644 --- a/docs/ci/documentation_ci.ml +++ b/docs/ci/documentation_ci.ml @@ -248,7 +248,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 `static)] + ~needs:[(Artifacts, job_build_all `full `dynamic)] ~cargo_cache:true ~sccache:(Cacio.sccache ()) [ @@ -285,6 +285,14 @@ let register () = ~description: "Generate and push the documentation to octez.com/docs without being \ interrupted." - ~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_publish)] ; ()