From b8a3e014d2d213cef99e019b3a800e0921dd014c Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Wed, 2 Apr 2025 15:38:58 +0200 Subject: [PATCH 01/13] CI: lower cache max sizes in [ocaml-check] - [sccache] from 5 to 2 GB - [dune] from 5 to 4 GB No hard data to back up these choices but they look reasonable. --- .gitlab/ci/pipelines/before_merging.yml | 4 ++-- .gitlab/ci/pipelines/merge_train.yml | 4 ++-- .gitlab/ci/pipelines/schedule_extended_test.yml | 4 ++-- ci/bin/code_verification.ml | 4 +++- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index a92f42454f7b..bd17723f2c7f 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -2531,11 +2531,11 @@ ocaml-check: after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) - - dune cache trim --size=5GB + - dune cache trim --size=4GB variables: CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G + SCCACHE_CACHE_SIZE: 2G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 6c8f289aeb2e..200e9a16a9a1 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -2530,11 +2530,11 @@ ocaml-check: after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) - - dune cache trim --size=5GB + - dune cache trim --size=4GB variables: CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G + SCCACHE_CACHE_SIZE: 2G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 3363be2668b2..57e6dfbcd1a7 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -2520,11 +2520,11 @@ ocaml-check: after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) - - dune cache trim --size=5GB + - dune cache trim --size=4GB variables: CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G + SCCACHE_CACHE_SIZE: 2G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index f504082fbac3..109bb7ca151b 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -933,7 +933,9 @@ let jobs pipeline_type = the log and to reduce time to merge of other MRs further down the merge train. *) ["dune build @check --stop-on-first-error"] - |> enable_cargo_cache |> enable_sccache |> enable_dune_cache + |> enable_cargo_cache + |> enable_sccache ~cache_size:"2G" + |> enable_dune_cache ~cache_size:"4GB" in (* This job triggers the debian child pipeline automatically if any files in the changeset is modified. It's the same as -- GitLab From eb5e3cae5da3871d6fae9cf247998e0564faf1a8 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 13:49:28 +0200 Subject: [PATCH 02/13] CI: minimise pipeline to [ocaml-check] --- .gitlab/ci/pipelines/before_merging.yml | 4325 +---------------- .gitlab/ci/pipelines/merge_train.yml | 4276 +--------------- .../ci/pipelines/schedule_extended_test.yml | 3657 +------------- ci/bin/code_verification.ml | 42 +- 4 files changed, 58 insertions(+), 12242 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index bd17723f2c7f..f769b2798fd1 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -2,13 +2,8 @@ # Edit file ci/bin/main.ml instead. stages: -- start - images -- sanity -- build - test -- test_coverage -- manual oc.docker:ci:amd64: image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 @@ -31,387 +26,26 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env -oc.docker:client-libs-dependencies: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/docker_client_libs_dependencies_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: client_libs_dependencies_image_tag.env - -oc.docker:jsonnet:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_jsonnet_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: jsonnet_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: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/docker_rust_toolchain_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: rust_toolchain_image_tag.env - -oc.docker:rust-sdk-bindings:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_rust_sdk_bindings_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: rust_sdk_bindings_image_tag.env - -oc.docker:ci:arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp_arm64 - dependencies: [] - timeout: 90 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./images/ci_create_ci_images.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - ARCH: arm64 - artifacts: - reports: - dotenv: ci_image_tag.env - retry: - max: 1 - when: - - runner_system_failure - -trigger: - image: datadog/ci:v2.44.0 - stage: start - tags: - - gcp - rules: - - if: $GITLAB_USER_LOGIN != "nomadic-margebot" && $CI_MERGE_REQUEST_ASSIGNEES !~ - /nomadic-margebot/ && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" - when: manual - allow_failure: false - - when: always - dependencies: [] - timeout: 10 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - echo 'Trigger pipeline!' - - CI_MERGE_REQUEST_IID=${CI_MERGE_REQUEST_IID:-none} - - DATADOG_SITE=datadoghq.eu datadog-ci tag --level pipeline --tags pipeline_type:$PIPELINE_TYPE - --tags mr_number:$CI_MERGE_REQUEST_IID - -sanity_ci: - image: ${ci_image_name_protected}/build:amd64--master - stage: sanity - tags: - - gcp - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - script: - - make --silent -C manifest check - - make --silent -C ci check - -docker:hadolint: - image: hadolint/hadolint:2.12.0-alpine - stage: sanity - tags: - - gcp - rules: - - changes: - - Dockerfile - - build.Dockerfile - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - hadolint build.Dockerfile - - hadolint Dockerfile - -oc.ocaml_fmt: - image: ${ci_image_name_protected}/build:amd64--master - stage: sanity +ocaml-check: + image: ${ci_image_name}/build:${ci_image_tag} + stage: test tags: - - gcp + - gcp_very_high_cpu rules: - changes: - '**/*.ml' - '**/*.mli' - - '**/.ocamlformat' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - key: dune_cache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - scripts/lint.sh --check-ocamlformat - - dune build --profile=dev @fmt - after_script: - - eval $(opam env) - - dune cache trim --size=5GB - variables: - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - -oc.semgrep: - image: returntocorp/semgrep-agent:sha-c6cd7cf - stage: sanity - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - devtools/**/* - - scripts/semgrep/**/* - - src/**/* - - tezt/**/* - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - echo "OCaml code linting. For information on how to reproduce locally, check out - scripts/semgrep/README.md" - - sh ./scripts/semgrep/lint-all-ocaml-sources.sh - -oc.misc_checks: - image: ${ci_image_name_protected}/test:amd64--master - stage: sanity - tags: - - gcp - rules: - - changes: - .gitlab-ci.yml - .gitlab/ci/pipelines/before_merging.yml - .gitlab/ci/pipelines/merge_train.yml - - client-libs/**/* - - contrib/**/* - devtools/**/* - - docs/**/* - - etherlink/**/* - - scripts/**/* - src/**/* - tezt/**/* when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - ./scripts/ci/lint_misc_check.sh - - scripts/check_wasm_pvm_regressions.sh check - - etherlink/scripts/check_evm_store_migrations.sh check - - ./scripts/check_rollup_node_sql_migrations.sh check - - ./src/lib_dal_node/scripts/check_dal_store_migrations.sh check - - ./scripts/ci/lint_check_licenses.sh - -check_jsonnet: - image: ${jsonnet_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.jsonnet' - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - cd grafazos/ - - jb install github.com/grafana/grafonnet/gen/grafonnet-v11.1.0@1ce5aec - - cd ../ - script: - - scripts/lint.sh --check-jsonnet-format - - scripts/lint.sh --check-jsonnet-lint - -check_rust_fmt: - image: ${rust_toolchain_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.rs' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - scripts/check-format-rust.sh - -documentation:rst-check: - image: ${ci_image_name_protected}/test:amd64--master - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.rst' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . $HOME/.venv/bin/activate - script: - - make --silent -C docs sphinx-check - -nix: - image: nixos/nix:2.22.1 - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.nix' - - flake.lock - - scripts/version.sh - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - key: nix-store - paths: - - /nix/store - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - mkdir -p ~/.config/nix - - echo 'extra-experimental-features = flakes nix-command' > ~/.config/nix/nix.conf - script: - - nix run .#ci-check-version-sh-lock - artifacts: - paths: - - flake.lock - when: on_failure - -commit_titles: - image: ${ci_image_name_protected}/prebuild:amd64--master - stage: sanity - tags: - - gcp - needs: [] - dependencies: [] - allow_failure: - exit_codes: 65 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/check_commit_messages.sh || exit $? - -oc.build_arm64-released: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--arm64(?:$|,)/ - when: on_success - - when: manual - allow_failure: true + needs: + - oc.docker:ci:amd64 dependencies: - - oc.docker:ci:arm64 + - oc.docker:ci:amd64 timeout: 60 minutes cache: - key: cargo-$CI_JOB_NAME_SLUG @@ -422,9 +56,9 @@ oc.build_arm64-released: paths: - $CI_PROJECT_DIR/_sccache policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG + - key: dune_cache-$CI_JOB_NAME_SLUG paths: - - $CI_PROJECT_DIR/_target + - $CI_PROJECT_DIR/_dune_cache policy: pull-push before_script: - . ./scripts/ci/datadog_send_job_info.sh @@ -433,3955 +67,20 @@ oc.build_arm64-released: - eval $(opam env) - . ./scripts/ci/sccache-start.sh script: - - ./scripts/ci/build_full_unreleased.sh + - dune build @check --stop-on-first-error after_script: - ./scripts/ci/sccache-stop.sh + - eval $(opam env) + - dune cache trim --size=4GB variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - 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_arm64-exp-dev-extra: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--arm64(?:$|,)/ - when: on_success - - when: manual - allow_failure: true - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/experimental-executables script-inputs/dev-executables - BUILD_EXTRA: src/bin_tps_evaluation/main_tps_evaluation.exe src/bin_octogram/octogram_main.exe - tezt/tests/main.exe - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - 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:static-x86_64-linux-binaries: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_static_binaries.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - paths: - - octez-binaries/$ARCH/* - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.build:static-arm64-linux-binaries: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:arm64 - - trigger - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_static_binaries.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - paths: - - octez-binaries/$ARCH/* - -oc.build_x86_64-released: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - COVERAGE_OPTIONS: --instrument-with bisect_ppx - 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 - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.build_x86_64-exp-dev-extra: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/experimental-executables 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" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - COVERAGE_OPTIONS: --instrument-with bisect_ppx 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 retry: max: 2 when: - stuck_or_timeout_failure - runner_system_failure - -wasm-runtime-check: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - src/lib_wasm_runtime/**/*.rs - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - etherlink/lib_wasm_runtime/lint.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.build_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink.mk - - etherlink/**/* - - images/**/* - - irmin/**/* - - kernels.mk - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - scripts/ci/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - dependencies: - - oc.docker:rust-toolchain:amd64 - timeout: 60 minutes - cache: - - key: kernels-sccache - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f kernels.mk build - - make -f etherlink.mk evm_kernel.wasm - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - CARGO_NET_OFFLINE: "false" - artifacts: - name: build-kernels-$CI_COMMIT_REF_SLUG - expire_in: 1 day - paths: - - evm_kernel.wasm - - smart-rollup-installer - - sequenced_kernel.wasm - - tx_kernel.wasm - - tx_kernel_dal.wasm - - dal_echo_kernel.wasm - when: on_success - -oc.build_dsn_node: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink.mk - - etherlink/**/* - - images/**/* - - irmin/**/* - - kernels.mk - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - scripts/ci/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - dependencies: - - oc.docker:rust-toolchain:amd64 - timeout: 60 minutes - cache: - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk octez-dsn-node - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - CARGO_NET_OFFLINE: "false" - artifacts: - name: build-dsn-node-$CI_COMMIT_REF_SLUG - expire_in: 1 day - paths: - - octez-dsn-node - when: on_success - -oc.tezt:fetch-records: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - dependencies: - - oc.docker:ci:amd64 - allow_failure: true - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - dune exec scripts/ci/update_records/update.exe -- --log-file tezt-fetch-records.log - --from last-successful-schedule-extended-test --info - after_script: - - ./scripts/ci/filter_corrupted_records.sh - artifacts: - expire_in: 4 hours - paths: - - tezt-fetch-records.log - - tezt/records/*.json - - tezt/records/*.json.broken - when: always - -build_octez_source: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - when: manual - allow_failure: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/restrict_export_to_octez_source.sh - - ./scripts/ci/create_octez_tarball.sh octez - - mv octez.tar.bz2 ../ - - cd ../ - - tar xf octez.tar.bz2 - - cd octez/ - - eval $(opam env) - - make octez - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - -grafazos.build_dashboards: - image: ${jsonnet_image_name}:${jsonnet_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - grafazos/**/* - when: always - - when: manual - allow_failure: true - dependencies: - - oc.docker:jsonnet:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - cd grafazos/ - - jb install github.com/grafana/grafonnet/gen/grafonnet-v11.1.0@1ce5aec - script: - - make - artifacts: - name: grafazos-dashboards - expire_in: 1 day - paths: - - grafazos/output/**/*.json - when: on_success - -teztale.build:static-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - changes: - - teztale/**/* - when: on_success - - when: manual - allow_failure: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make teztale - after_script: - - mkdir -p ./teztale-binaries/x86_64 - - mv octez-teztale-* ./teztale-binaries/x86_64/ - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - artifacts: - name: teztale-binaries - expire_in: 1 day - paths: - - teztale-binaries/x86_64/octez-teztale-* - when: on_success - -teztale.build:static-arm64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - changes: - - teztale/**/* - when: on_success - - when: manual - allow_failure: true - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make teztale - after_script: - - mkdir -p ./teztale-binaries/arm64 - - mv octez-teztale-* ./teztale-binaries/arm64/ - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - name: teztale-binaries - expire_in: 1 day - paths: - - teztale-binaries/arm64/octez-teztale-* - when: on_success - -etherlink.build:static-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - etherlink/**/* - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: manual - allow_failure: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make evm-node-static - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - name: evm-binaries - paths: - - octez-evm-* - - etherlink-* - when: on_success - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -etherlink.build:static-arm64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - etherlink/**/* - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: manual - allow_failure: true - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make evm-node-static - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - name: evm-binaries - paths: - - octez-evm-* - - etherlink-* - when: on_success - -build-layer1-profiling: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - scripts/slim-mode.sh on - - scripts/custom-flags.sh set -opaque - - TEZOS_PPX_PROFILER=profiling make build OCTEZ_EXECUTABLES?=octez-node - - TEZOS_PPX_PROFILER=opentelemetry make build OCTEZ_EXECUTABLES?=octez-node - - mkdir -p octez-binaries/x86_64/ - - mv octez-node octez-binaries/x86_64/ - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 day - paths: - - ./octez-binaries/x86_64/octez-node - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -select_tezts: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - dependencies: - - oc.docker:ci:amd64 - allow_failure: - exit_codes: 17 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - script: - - scripts/ci/select_tezts.sh || exit $? - artifacts: - expire_in: 3 days - paths: - - selected_tezts.tsl - when: always - -trigger:debian_repository_partial_auto: - stage: test - variables: - PIPELINE_TYPE: before_merging-debian_repository_partial_auto - rules: - - changes: - - .gitlab/ci/pipelines/debian_repository_partial_auto.yml - - debian-deps-build.Dockerfile - - docs/introduction/install-bin-deb.sh - - docs/introduction/upgrade-bin-deb.sh - - manifest/**/*.ml* - - scripts/ci/build-debian-packages.sh - - scripts/ci/build-debian-packages_current.sh - - scripts/ci/build-packages-dependencies.sh - - scripts/ci/create_debian_repo.sh - - scripts/ci/prepare-apt-repo.sh - - scripts/packaging/Release.conf - - scripts/packaging/build-deb-local.sh - - scripts/packaging/octez/debian/* - - scripts/version.sh - when: on_success - needs: - - trigger - trigger: - include: .gitlab/ci/pipelines/debian_repository_partial_auto.yml - strategy: depend - -trigger:rpm_repository_partial_auto: - stage: test - variables: - PIPELINE_TYPE: before_merging-rpm_repository_partial_auto - rules: - - changes: - - .gitlab/ci/pipelines/rpm_repository_partial_auto.yml - - manifest/**/*.ml* - - rpm-deps-build.Dockerfile - - scripts/ci/build-packages-dependencies.sh - - scripts/ci/build-rpm-packages.sh - - scripts/ci/create_rpm_repo.sh - - scripts/ci/prepare-apt-rpm-repo.sh - - scripts/packaging/build-rpm-local.sh - - scripts/packaging/octez/rpm/* - - scripts/packaging/tests/rpm/* - - scripts/version.sh - when: on_success - needs: - - trigger - trigger: - include: .gitlab/ci/pipelines/rpm_repository_partial_auto.yml - strategy: depend - -trigger:homebrew_auto: - stage: test - variables: - PIPELINE_TYPE: before_merging-homebrew_auto - rules: - - changes: - - .gitlab/ci/pipelines/homebrew_auto.yml - - manifest/**/*.ml* - - scripts/ci/install-gsutil.sh - - scripts/packaging/Formula/* - - scripts/packaging/homebrew_install.sh - - scripts/packaging/homebrew_release.sh - - scripts/packaging/test_homebrew_install.sh - - scripts/version.sh - when: on_success - needs: - - trigger - trigger: - include: .gitlab/ci/pipelines/homebrew_auto.yml - strategy: depend - -kaitai_checks: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - client-libs/*kaitai*/**/* - - images/**/* - - scripts/ci/**/* - - src/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make -C ${CI_PROJECT_DIR} check-kaitai-struct-files || (echo 'Octez encodings - and Kaitai files seem to be out of sync. You might need to run `make check-kaitai-struct-files` - and commit the resulting diff.' ; false) - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 hour - paths: - - _build/default/client-libs/bin_codec_kaitai/codec.exe - when: on_success - -kaitai_e2e_checks: - image: ${client_libs_dependencies_image_name}:${client_libs_dependencies_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - client-libs/*kaitai*/**/* - - images/**/* - - scripts/ci/**/* - - src/**/* - when: on_success - needs: - - oc.docker:client-libs-dependencies - - kaitai_checks - dependencies: - - oc.docker:client-libs-dependencies - - kaitai_checks - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - . ./scripts/install_build_deps.js.sh - script: - - ./client-libs/kaitai-struct-files/scripts/kaitai_e2e.sh client-libs/kaitai-struct-files/files - 2>/dev/null - -oc.check_lift_limits_patch: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - src/bin_tps_evaluation/lift_limits.patch - - src/proto_alpha/lib_protocol/main.ml - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - '[ $(git apply --numstat src/bin_tps_evaluation/lift_limits.patch | cut -f3) = - "src/proto_alpha/lib_protocol/main.ml" ]' - - git apply src/bin_tps_evaluation/lift_limits.patch - - dune build @src/proto_alpha/lib_protocol/check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.python_check: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - '**/*.py' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - poetry.lock - - pyproject.toml - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - . $HOME/.venv/bin/activate - script: - - ./scripts/ci/lint_misc_python_check.sh - -oc.integration:compiler-rejections: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @runtest_rejections - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.script:test-gen-genesis: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - cd scripts/gen-genesis - script: - - dune build gen_genesis.exe - -oc.script:snapshot_alpha_and_link: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - scripts/snapshot_alpha.sh - - scripts/snapshot_alpha_and_link.sh - - scripts/user_activated_upgrade.sh - - src/proto_alpha/**/* - when: on_success - needs: - - job: oc.docker:ci:amd64 - - job: trigger - - job: oc.build_x86_64-released - optional: true - - job: oc.build_x86_64-exp-dev-extra - optional: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/script:snapshot_alpha_and_link.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.script:test_octez_release_versions: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - ./scripts/test_octez_release_version.sh - -oc.script:b58_prefix: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - scripts/b58_prefix/b58_prefix.py - - scripts/b58_prefix/test_b58_prefix.py - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - . $HOME/.venv/bin/activate - script: - - poetry run pylint scripts/b58_prefix/b58_prefix.py --disable=missing-docstring - --disable=invalid-name - - poetry run pytest scripts/b58_prefix/test_b58_prefix.py - -oc.test-liquidity-baking-scripts: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - scripts/check-liquidity-baking-scripts.sh - - scripts/ci/test_liquidity_baking_scripts.sh - - src/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - ./scripts/ci/test_liquidity_baking_scripts.sh - -oc:scripts:release_script_values: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: test - tags: - - gcp - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - scripts/ci/test_release_values.sh - -mir_unit: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - contrib/mir/**/* - - images/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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 - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - cargo test --manifest-path contrib/mir/Cargo.toml - variables: - CARGO_NET_OFFLINE: "false" - -mir_tzt: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - contrib/mir/**/* - - images/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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 - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - cargo run --manifest-path contrib/mir/Cargo.toml --bin tzt_runner tzt_reference_test_suite/*.tzt - variables: - CARGO_NET_OFFLINE: "false" - -test_sdk_rust: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - trigger - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C sdk/rust check - - make -C sdk/rust test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_sdk_bindings: - image: ${rust_sdk_bindings_image_name}:${rust_sdk_bindings_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - contrib/sdk-bindings - - images/create_image.sh - - images/rust-sdk-bindings/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - when: on_success - needs: - - oc.docker:rust-sdk-bindings:amd64 - - trigger - dependencies: - - oc.docker:rust-sdk-bindings:amd64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . $HOME/.venv/bin/activate - - . ./scripts/ci/sccache-start.sh - script: - - make -C contrib/sdk-bindings check - - make -C contrib/sdk-bindings test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - kernels.mk - - scripts/version.sh - - sdk/rust/**/* - - src/kernel_*/**/* - - src/riscv/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f kernels.mk check - - make -f kernels.mk test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_etherlink_kernel: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - etherlink.mk - - etherlink/**/*.rs - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk check - - make -f etherlink.mk test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_etherlink_firehose: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - etherlink/firehose/**/* - - etherlink/tezt/tests/evm_kernel_inputs/erc20tok.* - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C etherlink/firehose check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -audit_riscv_deps: - image: ${rust_toolchain_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - sdk/rust/**/* - - src/kernel_sdk/**/* - - src/riscv/**/* - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C src/riscv audit - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -check_riscv_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - - src/kernel_sdk/**/* - - src/riscv/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - audit_riscv_deps - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C src/riscv CHECK_FLAGS= EXTRA_FLAGS='--no-default-features --features ci' - check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_evm_compatibility: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - etherlink.mk - - etherlink/kernel_latest/evm_evaluation/**/* - - etherlink/kernel_latest/evm_execution/**/* - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs evm-evaluation-assessor - - git clone --depth 1 --branch v14.1@etherlink https://github.com/functori/tests - ethereum_tests - - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_latest/evm_evaluation/resources/ - -c - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -ocaml-check: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - '**/*.ml' - - '**/*.mli' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - devtools/**/* - - src/**/* - - tezt/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune_cache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @check --stop-on-first-error - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=4GB - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.unit:non-proto-x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-nonproto-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:etherlink-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - etherlink/**/* - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-etherlink-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:other-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-other-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:proto-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-proto-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:non-proto-arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - MAKE_TARGETS: test-nonproto-unit test-webassembly - DISTRIBUTE_TESTS_TO_PARALLELS: "true" - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - name: $CI_JOB_NAME-$CI_COMMIT_SHA-${ARCH} - expire_in: 1 day - paths: - - test_results - reports: - junit: test_results/*.xml - when: always - retry: 2 - parallel: 2 - -oc.unit:webassembly-x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 20 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - make test-webassembly - -oc.unit:protocol_compiles: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @runtest_compile_protocol - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -de.unit:x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - data-encoding/** - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest data-encoding - -de.unit:arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - data-encoding/** - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest data-encoding - -resto.unit:x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - resto/** - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 10 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest resto - -resto.unit:arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - resto/** - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 10 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest resto - -oc.install_opam_noble: - image: ocaml/opam:ubuntu-24.04 - stage: test - tags: - - gcp - rules: - - when: manual - allow_failure: true - needs: - - trigger - dependencies: [] - allow_failure: true - timeout: 2 hours - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/install-opam.sh - variables: - OPAMJOBS: "4" - -oc.compile_sources_doc_bookworm: - image: ocaml/opam:debian-12 - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - docs/introduction/compile-sources.sh - when: on_success - - when: manual - allow_failure: true - needs: - - trigger - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} - ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} - variables: - CARGO_HOME: /home/opam/.cargo - CARGO_NET_OFFLINE: "false" - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -tezt: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 40 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "6" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 50 - -tezt-time-sensitive: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -time_sensitive - TESTS: time_sensitive && /ci_disabled && /slow && /extra && /cloud - TEZT_RETRY: "1" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - -tezt-slow: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --junit-mem-peak - 'dd_tags[memory.peak]' --from-record tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} - --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json --job-count ${TEZT_PARALLEL} - --retry ${TEZT_RETRY} --record-mem-peak --mem-warn 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' - --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -slow - TESTS: slow && /ci_disabled && /time_sensitive && /extra && /cloud && not (file - = src/proto_019_PtParisA/lib_protocol/test/integration/test_adaptive_issuance_launch.ml) - TEZT_RETRY: "1" - TEZT_PARALLEL: "3" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 20 - -tezt-extra: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -extra - TESTS: extra && /ci_disabled && /time_sensitive && /slow && /cloud && /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "6" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 10 - -tezt-flaky: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - allow_failure: true - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -flaky - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && flaky - TEZT_RETRY: "3" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - -tezt:static-binaries: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - mv octez-binaries/x86_64/octez-* . - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && cli && - /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "3" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - -tezt-riscv-slow-sequential: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --junit-mem-peak - 'dd_tags[memory.peak]' --from-record tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} - --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json --job-count ${TEZT_PARALLEL} - --retry ${TEZT_RETRY} --record-mem-peak --mem-warn 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' - --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: riscv_slow_sequential - TEZT_RETRY: "1" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - -oc.unified_coverage: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test_coverage - tags: - - gcp - rules: - - if: $GITLAB_USER_LOGIN == "nomadic-margebot" || $CI_MERGE_REQUEST_ASSIGNEES =~ - /nomadic-margebot/ || $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" - when: never - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - dependencies: - - oc.docker:ci:amd64 - - oc.unit:non-proto-x86_64 - - oc.unit:etherlink-x86_64 - - oc.unit:other-x86_64 - - oc.unit:proto-x86_64 - - tezt - - tezt-time-sensitive - - tezt-flaky - allow_failure: - exit_codes: 64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/report_coverage.sh || exit $? - variables: - TEZOS_WITHOUT_OPAM: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - SLACK_COVERAGE_CHANNEL: C02PHBE7W73 - artifacts: - expire_in: 15 days - paths: - - _coverage_report/ - - $BISECT_FILE - reports: - coverage_report: - coverage_format: cobertura - path: _coverage_report/cobertura.xml - when: always - expose_as: Coverage report - coverage: '/Coverage: ([^%]+%)/' - -documentation:install_python_bookworm: - image: debian:bookworm - stage: test - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - docs/developer/install-python-debian-ubuntu.sh - - poetry.lock - - pyproject.toml - when: on_success - - when: manual - allow_failure: true - needs: - - trigger - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} - ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} - -documentation:odoc: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - export OPAMFETCH='wget' - - opam remote add default https://opam.ocaml.org/ - - opam repo add archive git+https://github.com/ocaml/opam-repository-archive - - opam update - - opam install --yes odoc.2.4.4 - - make -C docs odoc-lite - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 hour - paths: - - docs/_build/api/odoc/ - - docs/odoc.log - when: always - -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: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - make -C docs -j octez-gen - 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 - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make -C docs -j docexes-gen - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - 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 - -documentation:build_all: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - documentation:odoc - - documentation:manuals - - documentation:docgen - dependencies: - - oc.docker:ci:amd64 - - documentation:odoc - - documentation:manuals - - documentation:docgen - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - make -C docs -j sphinx - - make -C docs -j _build/octezdoc.txt - artifacts: - expire_in: 1 week - paths: - - docs/_build/ - expose_as: Documentation - excluding old protocols - -documentation:linkcheck: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - documentation:manuals - - documentation:docgen - - documentation:build_all - dependencies: - - oc.docker:ci:amd64 - - documentation:manuals - - documentation:docgen - - documentation:build_all - allow_failure: true - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - make -C docs redirectcheck - - make -C docs linkcheck - -trigger:homebrew: - stage: manual - variables: - PIPELINE_TYPE: before_merging-homebrew - rules: - - when: manual - allow_failure: true - needs: [] - trigger: - include: .gitlab/ci/pipelines/homebrew.yml - strategy: depend - -trigger:rpm_repository_partial: - stage: manual - variables: - PIPELINE_TYPE: before_merging-rpm_repository_partial - rules: - - when: manual - allow_failure: true - needs: [] - trigger: - include: .gitlab/ci/pipelines/rpm_repository_partial.yml - strategy: depend - -trigger:debian_repository_partial: - stage: manual - variables: - PIPELINE_TYPE: before_merging-debian_repository_partial - rules: - - when: manual - allow_failure: true - needs: [] - trigger: - include: .gitlab/ci/pipelines/debian_repository_partial.yml - strategy: depend - -trigger:base_images: - stage: manual - variables: - PIPELINE_TYPE: before_merging-base_images - rules: - - when: manual - allow_failure: true - needs: [] - trigger: - include: .gitlab/ci/pipelines/base_images.yml - strategy: depend - -oc.docker:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp - rules: - - changes: - - Dockerfile - - build.Dockerfile - when: on_success - - when: manual - allow_failure: true - needs: - - oc.docker:rust-toolchain:amd64 - - oc.docker:ci:amd64 - dependencies: - - oc.docker:rust-toolchain:amd64 - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_release.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - DOCKER_BUILD_TARGET: with-evm-artifacts - IMAGE_ARCH_PREFIX: amd64_ - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables - -oc.docker:arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp_arm64 - rules: - - changes: - - Dockerfile - - build.Dockerfile - when: on_success - - when: manual - allow_failure: true - needs: - - oc.docker:ci:arm64 - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_release.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - DOCKER_BUILD_TARGET: without-evm-artifacts - IMAGE_ARCH_PREFIX: arm64_ - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables - -oc.script.docker_verify_image_arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp - rules: - - when: manual - allow_failure: true - needs: - - oc.docker:arm64 - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_verify_signature.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - IMAGE_ARCH_PREFIX: arm64_ - -oc.script.docker_verify_image_amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp - rules: - - when: manual - allow_failure: true - needs: - - oc.docker:amd64 - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_verify_signature.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - IMAGE_ARCH_PREFIX: amd64_ diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 200e9a16a9a1..f769b2798fd1 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -2,13 +2,8 @@ # Edit file ci/bin/main.ml instead. stages: -- start - images -- sanity -- build - test -- test_coverage -- manual oc.docker:ci:amd64: image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 @@ -31,386 +26,26 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env -oc.docker:client-libs-dependencies: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/docker_client_libs_dependencies_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: client_libs_dependencies_image_tag.env - -oc.docker:jsonnet:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_jsonnet_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: jsonnet_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: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/docker_rust_toolchain_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: rust_toolchain_image_tag.env - -oc.docker:rust-sdk-bindings:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_rust_sdk_bindings_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: rust_sdk_bindings_image_tag.env - -oc.docker:ci:arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp_arm64 - dependencies: [] - timeout: 90 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./images/ci_create_ci_images.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - ARCH: arm64 - artifacts: - reports: - dotenv: ci_image_tag.env - retry: - max: 1 - when: - - runner_system_failure - -trigger: - image: datadog/ci:v2.44.0 - stage: start - tags: - - gcp - rules: - - if: $GITLAB_USER_LOGIN != "nomadic-margebot" && $CI_MERGE_REQUEST_ASSIGNEES !~ - /nomadic-margebot/ && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" - when: manual - allow_failure: false - - when: always - dependencies: [] - timeout: 10 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - echo 'Trigger pipeline!' - - CI_MERGE_REQUEST_IID=${CI_MERGE_REQUEST_IID:-none} - - DATADOG_SITE=datadoghq.eu datadog-ci tag --level pipeline --tags pipeline_type:$PIPELINE_TYPE - --tags mr_number:$CI_MERGE_REQUEST_IID - -sanity_ci: - image: ${ci_image_name_protected}/build:amd64--master - stage: sanity - tags: - - gcp - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - script: - - make --silent -C manifest check - - make --silent -C ci check - -docker:hadolint: - image: hadolint/hadolint:2.12.0-alpine - stage: sanity - tags: - - gcp - rules: - - changes: - - Dockerfile - - build.Dockerfile - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - hadolint build.Dockerfile - - hadolint Dockerfile - -oc.ocaml_fmt: - image: ${ci_image_name_protected}/build:amd64--master - stage: sanity +ocaml-check: + image: ${ci_image_name}/build:${ci_image_tag} + stage: test tags: - - gcp + - gcp_very_high_cpu rules: - changes: - '**/*.ml' - '**/*.mli' - - '**/.ocamlformat' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - key: dune_cache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - scripts/lint.sh --check-ocamlformat - - dune build --profile=dev @fmt - after_script: - - eval $(opam env) - - dune cache trim --size=5GB - variables: - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - -oc.semgrep: - image: returntocorp/semgrep-agent:sha-c6cd7cf - stage: sanity - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - devtools/**/* - - scripts/semgrep/**/* - - src/**/* - - tezt/**/* - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - echo "OCaml code linting. For information on how to reproduce locally, check out - scripts/semgrep/README.md" - - sh ./scripts/semgrep/lint-all-ocaml-sources.sh - -oc.misc_checks: - image: ${ci_image_name_protected}/test:amd64--master - stage: sanity - tags: - - gcp - rules: - - changes: - .gitlab-ci.yml - .gitlab/ci/pipelines/before_merging.yml - .gitlab/ci/pipelines/merge_train.yml - - client-libs/**/* - - contrib/**/* - devtools/**/* - - docs/**/* - - etherlink/**/* - - scripts/**/* - src/**/* - tezt/**/* when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - ./scripts/ci/lint_misc_check.sh - - scripts/check_wasm_pvm_regressions.sh check - - etherlink/scripts/check_evm_store_migrations.sh check - - ./scripts/check_rollup_node_sql_migrations.sh check - - ./src/lib_dal_node/scripts/check_dal_store_migrations.sh check - - ./scripts/ci/lint_check_licenses.sh - -check_jsonnet: - image: ${jsonnet_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.jsonnet' - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - cd grafazos/ - - jb install github.com/grafana/grafonnet/gen/grafonnet-v11.1.0@1ce5aec - - cd ../ - script: - - scripts/lint.sh --check-jsonnet-format - - scripts/lint.sh --check-jsonnet-lint - -check_rust_fmt: - image: ${rust_toolchain_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.rs' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - scripts/check-format-rust.sh - -documentation:rst-check: - image: ${ci_image_name_protected}/test:amd64--master - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.rst' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . $HOME/.venv/bin/activate - script: - - make --silent -C docs sphinx-check - -nix: - image: nixos/nix:2.22.1 - stage: sanity - tags: - - gcp - rules: - - changes: - - '**/*.nix' - - flake.lock - - scripts/version.sh - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - key: nix-store - paths: - - /nix/store - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - mkdir -p ~/.config/nix - - echo 'extra-experimental-features = flakes nix-command' > ~/.config/nix/nix.conf - script: - - nix run .#ci-check-version-sh-lock - artifacts: - paths: - - flake.lock - when: on_failure - -commit_titles: - image: ${ci_image_name_protected}/prebuild:amd64--master - stage: sanity - tags: - - gcp - needs: [] - dependencies: [] - allow_failure: false - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/check_commit_messages.sh || exit $? - -oc.build_arm64-released: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--arm64(?:$|,)/ - when: on_success - - when: manual - allow_failure: true + needs: + - oc.docker:ci:amd64 dependencies: - - oc.docker:ci:arm64 + - oc.docker:ci:amd64 timeout: 60 minutes cache: - key: cargo-$CI_JOB_NAME_SLUG @@ -421,9 +56,9 @@ oc.build_arm64-released: paths: - $CI_PROJECT_DIR/_sccache policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG + - key: dune_cache-$CI_JOB_NAME_SLUG paths: - - $CI_PROJECT_DIR/_target + - $CI_PROJECT_DIR/_dune_cache policy: pull-push before_script: - . ./scripts/ci/datadog_send_job_info.sh @@ -432,3907 +67,20 @@ oc.build_arm64-released: - eval $(opam env) - . ./scripts/ci/sccache-start.sh script: - - ./scripts/ci/build_full_unreleased.sh + - dune build @check --stop-on-first-error after_script: - ./scripts/ci/sccache-stop.sh + - eval $(opam env) + - dune cache trim --size=4GB variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - 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_arm64-exp-dev-extra: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--arm64(?:$|,)/ - when: on_success - - when: manual - allow_failure: true - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/experimental-executables script-inputs/dev-executables - BUILD_EXTRA: src/bin_tps_evaluation/main_tps_evaluation.exe src/bin_octogram/octogram_main.exe - tezt/tests/main.exe - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - 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:static-x86_64-linux-binaries: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_static_binaries.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - paths: - - octez-binaries/$ARCH/* - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.build:static-arm64-linux-binaries: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:arm64 - - trigger - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_static_binaries.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - paths: - - octez-binaries/$ARCH/* - -oc.build_x86_64-released: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - COVERAGE_OPTIONS: --instrument-with bisect_ppx - 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 - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.build_x86_64-exp-dev-extra: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/experimental-executables 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" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - COVERAGE_OPTIONS: --instrument-with bisect_ppx 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 retry: max: 2 when: - stuck_or_timeout_failure - runner_system_failure - -wasm-runtime-check: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - src/lib_wasm_runtime/**/*.rs - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - etherlink/lib_wasm_runtime/lint.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.build_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink.mk - - etherlink/**/* - - images/**/* - - irmin/**/* - - kernels.mk - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - scripts/ci/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - dependencies: - - oc.docker:rust-toolchain:amd64 - timeout: 60 minutes - cache: - - key: kernels-sccache - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f kernels.mk build - - make -f etherlink.mk evm_kernel.wasm - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - CARGO_NET_OFFLINE: "false" - artifacts: - name: build-kernels-$CI_COMMIT_REF_SLUG - expire_in: 1 day - paths: - - evm_kernel.wasm - - smart-rollup-installer - - sequenced_kernel.wasm - - tx_kernel.wasm - - tx_kernel_dal.wasm - - dal_echo_kernel.wasm - when: on_success - -oc.build_dsn_node: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - client-libs/**/* - - cohttp/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink.mk - - etherlink/**/* - - images/**/* - - irmin/**/* - - kernels.mk - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - script-inputs/**/*/ - - scripts/**/* - - scripts/**/*/ - - scripts/ci/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - - vendors/**/* - when: on_success - dependencies: - - oc.docker:rust-toolchain:amd64 - timeout: 60 minutes - cache: - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk octez-dsn-node - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - CARGO_NET_OFFLINE: "false" - artifacts: - name: build-dsn-node-$CI_COMMIT_REF_SLUG - expire_in: 1 day - paths: - - octez-dsn-node - when: on_success - -oc.tezt:fetch-records: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - dependencies: - - oc.docker:ci:amd64 - allow_failure: true - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - dune exec scripts/ci/update_records/update.exe -- --log-file tezt-fetch-records.log - --from last-successful-schedule-extended-test --info - after_script: - - ./scripts/ci/filter_corrupted_records.sh - artifacts: - expire_in: 4 hours - paths: - - tezt-fetch-records.log - - tezt/records/*.json - - tezt/records/*.json.broken - when: always - -build_octez_source: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - when: manual - allow_failure: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/restrict_export_to_octez_source.sh - - ./scripts/ci/create_octez_tarball.sh octez - - mv octez.tar.bz2 ../ - - cd ../ - - tar xf octez.tar.bz2 - - cd octez/ - - eval $(opam env) - - make octez - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - -grafazos.build_dashboards: - image: ${jsonnet_image_name}:${jsonnet_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - grafazos/**/* - when: always - - when: manual - allow_failure: true - dependencies: - - oc.docker:jsonnet:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - cd grafazos/ - - jb install github.com/grafana/grafonnet/gen/grafonnet-v11.1.0@1ce5aec - script: - - make - artifacts: - name: grafazos-dashboards - expire_in: 1 day - paths: - - grafazos/output/**/*.json - when: on_success - -teztale.build:static-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - changes: - - teztale/**/* - when: on_success - - when: manual - allow_failure: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make teztale - after_script: - - mkdir -p ./teztale-binaries/x86_64 - - mv octez-teztale-* ./teztale-binaries/x86_64/ - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - artifacts: - name: teztale-binaries - expire_in: 1 day - paths: - - teztale-binaries/x86_64/octez-teztale-* - when: on_success - -teztale.build:static-arm64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - changes: - - teztale/**/* - when: on_success - - when: manual - allow_failure: true - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make teztale - after_script: - - mkdir -p ./teztale-binaries/arm64 - - mv octez-teztale-* ./teztale-binaries/arm64/ - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - name: teztale-binaries - expire_in: 1 day - paths: - - teztale-binaries/arm64/octez-teztale-* - when: on_success - -etherlink.build:static-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - etherlink/**/* - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: manual - allow_failure: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make evm-node-static - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - name: evm-binaries - paths: - - octez-evm-* - - etherlink-* - when: on_success - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -etherlink.build:static-arm64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - etherlink/**/* - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: manual - allow_failure: true - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make evm-node-static - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - name: evm-binaries - paths: - - octez-evm-* - - etherlink-* - when: on_success - -build-layer1-profiling: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - scripts/slim-mode.sh on - - scripts/custom-flags.sh set -opaque - - TEZOS_PPX_PROFILER=profiling make build OCTEZ_EXECUTABLES?=octez-node - - TEZOS_PPX_PROFILER=opentelemetry make build OCTEZ_EXECUTABLES?=octez-node - - mkdir -p octez-binaries/x86_64/ - - mv octez-node octez-binaries/x86_64/ - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 day - paths: - - ./octez-binaries/x86_64/octez-node - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -select_tezts: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - dependencies: - - oc.docker:ci:amd64 - allow_failure: - exit_codes: 17 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - script: - - scripts/ci/select_tezts.sh || exit $? - artifacts: - expire_in: 3 days - paths: - - selected_tezts.tsl - when: always - -trigger:debian_repository_partial_auto: - stage: test - variables: - PIPELINE_TYPE: merge_train-debian_repository_partial_auto - rules: - - changes: - - .gitlab/ci/pipelines/debian_repository_partial_auto.yml - - debian-deps-build.Dockerfile - - docs/introduction/install-bin-deb.sh - - docs/introduction/upgrade-bin-deb.sh - - manifest/**/*.ml* - - scripts/ci/build-debian-packages.sh - - scripts/ci/build-debian-packages_current.sh - - scripts/ci/build-packages-dependencies.sh - - scripts/ci/create_debian_repo.sh - - scripts/ci/prepare-apt-repo.sh - - scripts/packaging/Release.conf - - scripts/packaging/build-deb-local.sh - - scripts/packaging/octez/debian/* - - scripts/version.sh - when: on_success - needs: - - trigger - trigger: - include: .gitlab/ci/pipelines/debian_repository_partial_auto.yml - strategy: depend - -trigger:rpm_repository_partial_auto: - stage: test - variables: - PIPELINE_TYPE: merge_train-rpm_repository_partial_auto - rules: - - changes: - - .gitlab/ci/pipelines/rpm_repository_partial_auto.yml - - manifest/**/*.ml* - - rpm-deps-build.Dockerfile - - scripts/ci/build-packages-dependencies.sh - - scripts/ci/build-rpm-packages.sh - - scripts/ci/create_rpm_repo.sh - - scripts/ci/prepare-apt-rpm-repo.sh - - scripts/packaging/build-rpm-local.sh - - scripts/packaging/octez/rpm/* - - scripts/packaging/tests/rpm/* - - scripts/version.sh - when: on_success - needs: - - trigger - trigger: - include: .gitlab/ci/pipelines/rpm_repository_partial_auto.yml - strategy: depend - -trigger:homebrew_auto: - stage: test - variables: - PIPELINE_TYPE: merge_train-homebrew_auto - rules: - - changes: - - .gitlab/ci/pipelines/homebrew_auto.yml - - manifest/**/*.ml* - - scripts/ci/install-gsutil.sh - - scripts/packaging/Formula/* - - scripts/packaging/homebrew_install.sh - - scripts/packaging/homebrew_release.sh - - scripts/packaging/test_homebrew_install.sh - - scripts/version.sh - when: on_success - needs: - - trigger - trigger: - include: .gitlab/ci/pipelines/homebrew_auto.yml - strategy: depend - -kaitai_checks: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - client-libs/*kaitai*/**/* - - images/**/* - - scripts/ci/**/* - - src/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make -C ${CI_PROJECT_DIR} check-kaitai-struct-files || (echo 'Octez encodings - and Kaitai files seem to be out of sync. You might need to run `make check-kaitai-struct-files` - and commit the resulting diff.' ; false) - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 hour - paths: - - _build/default/client-libs/bin_codec_kaitai/codec.exe - when: on_success - -kaitai_e2e_checks: - image: ${client_libs_dependencies_image_name}:${client_libs_dependencies_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - client-libs/*kaitai*/**/* - - images/**/* - - scripts/ci/**/* - - src/**/* - when: on_success - needs: - - oc.docker:client-libs-dependencies - - kaitai_checks - dependencies: - - oc.docker:client-libs-dependencies - - kaitai_checks - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - . ./scripts/install_build_deps.js.sh - script: - - ./client-libs/kaitai-struct-files/scripts/kaitai_e2e.sh client-libs/kaitai-struct-files/files - 2>/dev/null - -oc.check_lift_limits_patch: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - src/bin_tps_evaluation/lift_limits.patch - - src/proto_alpha/lib_protocol/main.ml - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - '[ $(git apply --numstat src/bin_tps_evaluation/lift_limits.patch | cut -f3) = - "src/proto_alpha/lib_protocol/main.ml" ]' - - git apply src/bin_tps_evaluation/lift_limits.patch - - dune build @src/proto_alpha/lib_protocol/check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.python_check: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - '**/*.py' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - poetry.lock - - pyproject.toml - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - . $HOME/.venv/bin/activate - script: - - ./scripts/ci/lint_misc_python_check.sh - -oc.integration:compiler-rejections: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @runtest_rejections - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.script:test-gen-genesis: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - cd scripts/gen-genesis - script: - - dune build gen_genesis.exe - -oc.script:snapshot_alpha_and_link: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - scripts/snapshot_alpha.sh - - scripts/snapshot_alpha_and_link.sh - - scripts/user_activated_upgrade.sh - - src/proto_alpha/**/* - when: on_success - needs: - - job: oc.docker:ci:amd64 - - job: trigger - - job: oc.build_x86_64-released - optional: true - - job: oc.build_x86_64-exp-dev-extra - optional: true - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/script:snapshot_alpha_and_link.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.script:test_octez_release_versions: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - ./scripts/test_octez_release_version.sh - -oc.script:b58_prefix: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - scripts/b58_prefix/b58_prefix.py - - scripts/b58_prefix/test_b58_prefix.py - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - . $HOME/.venv/bin/activate - script: - - poetry run pylint scripts/b58_prefix/b58_prefix.py --disable=missing-docstring - --disable=invalid-name - - poetry run pytest scripts/b58_prefix/test_b58_prefix.py - -oc.test-liquidity-baking-scripts: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - scripts/check-liquidity-baking-scripts.sh - - scripts/ci/test_liquidity_baking_scripts.sh - - src/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - ./scripts/ci/test_liquidity_baking_scripts.sh - -oc:scripts:release_script_values: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: test - tags: - - gcp - needs: - - oc.docker:ci:amd64 - - trigger - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - scripts/ci/test_release_values.sh - -mir_unit: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - contrib/mir/**/* - - images/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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 - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - cargo test --manifest-path contrib/mir/Cargo.toml - variables: - CARGO_NET_OFFLINE: "false" - -mir_tzt: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - contrib/mir/**/* - - images/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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 - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - cargo run --manifest-path contrib/mir/Cargo.toml --bin tzt_runner tzt_reference_test_suite/*.tzt - variables: - CARGO_NET_OFFLINE: "false" - -test_sdk_rust: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - trigger - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C sdk/rust check - - make -C sdk/rust test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_sdk_bindings: - image: ${rust_sdk_bindings_image_name}:${rust_sdk_bindings_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - contrib/sdk-bindings - - images/create_image.sh - - images/rust-sdk-bindings/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - when: on_success - needs: - - oc.docker:rust-sdk-bindings:amd64 - - trigger - dependencies: - - oc.docker:rust-sdk-bindings:amd64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . $HOME/.venv/bin/activate - - . ./scripts/ci/sccache-start.sh - script: - - make -C contrib/sdk-bindings check - - make -C contrib/sdk-bindings test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - kernels.mk - - scripts/version.sh - - sdk/rust/**/* - - src/kernel_*/**/* - - src/riscv/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f kernels.mk check - - make -f kernels.mk test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_etherlink_kernel: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - etherlink.mk - - etherlink/**/*.rs - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk check - - make -f etherlink.mk test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_etherlink_firehose: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - etherlink/firehose/**/* - - etherlink/tezt/tests/evm_kernel_inputs/erc20tok.* - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C etherlink/firehose check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -audit_riscv_deps: - image: ${rust_toolchain_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - sdk/rust/**/* - - src/kernel_sdk/**/* - - src/riscv/**/* - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C src/riscv audit - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -check_riscv_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - - sdk/rust/**/* - - src/kernel_sdk/**/* - - src/riscv/**/* - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - audit_riscv_deps - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C src/riscv CHECK_FLAGS= EXTRA_FLAGS='--no-default-features --features ci' - check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_evm_compatibility: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - etherlink.mk - - etherlink/kernel_latest/evm_evaluation/**/* - - etherlink/kernel_latest/evm_execution/**/* - - images/create_image.sh - - images/rust-toolchain/**/* - - images/scripts/install_datadog_static.sh - - scripts/version.sh - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs evm-evaluation-assessor - - git clone --depth 1 --branch v14.1@etherlink https://github.com/functori/tests - ethereum_tests - - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_latest/evm_evaluation/resources/ - -c - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -ocaml-check: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - '**/*.ml' - - '**/*.mli' - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - devtools/**/* - - src/**/* - - tezt/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune_cache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @check --stop-on-first-error - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=4GB - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.unit:non-proto-x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-nonproto-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:etherlink-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - etherlink/**/* - - sdk/rust/**/* - - src/kernel_sdk/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-etherlink-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:other-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-other-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:proto-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-proto-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:non-proto-arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - MAKE_TARGETS: test-nonproto-unit test-webassembly - DISTRIBUTE_TESTS_TO_PARALLELS: "true" - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - name: $CI_JOB_NAME-$CI_COMMIT_SHA-${ARCH} - expire_in: 1 day - paths: - - test_results - reports: - junit: test_results/*.xml - when: always - retry: 2 - parallel: 2 - -oc.unit:webassembly-x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 20 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - make test-webassembly - -oc.unit:protocol_compiles: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @runtest_compile_protocol - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -de.unit:x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - data-encoding/** - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest data-encoding - -de.unit:arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - data-encoding/** - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest data-encoding - -resto.unit:x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - resto/** - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 10 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest resto - -resto.unit:arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - resto/** - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 10 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest resto - -oc.install_opam_noble: - image: ocaml/opam:ubuntu-24.04 - stage: test - tags: - - gcp - rules: - - when: manual - allow_failure: true - needs: - - trigger - dependencies: [] - allow_failure: true - timeout: 2 hours - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/install-opam.sh - variables: - OPAMJOBS: "4" - -oc.compile_sources_doc_bookworm: - image: ocaml/opam:debian-12 - stage: test - tags: - - gcp_very_high_cpu - rules: - - changes: - - docs/introduction/compile-sources.sh - when: on_success - - when: manual - allow_failure: true - needs: - - trigger - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} - ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} - variables: - CARGO_HOME: /home/opam/.cargo - CARGO_NET_OFFLINE: "false" - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -tezt: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 40 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "6" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 50 - -tezt-time-sensitive: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -time_sensitive - TESTS: time_sensitive && /ci_disabled && /slow && /extra && /cloud - TEZT_RETRY: "1" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - -tezt-slow: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --junit-mem-peak - 'dd_tags[memory.peak]' --from-record tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} - --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json --job-count ${TEZT_PARALLEL} - --retry ${TEZT_RETRY} --record-mem-peak --mem-warn 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' - --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -slow - TESTS: slow && /ci_disabled && /time_sensitive && /extra && /cloud && not (file - = src/proto_019_PtParisA/lib_protocol/test/integration/test_adaptive_issuance_launch.ml) - TEZT_RETRY: "1" - TEZT_PARALLEL: "3" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 20 - -tezt-extra: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -extra - TESTS: extra && /ci_disabled && /time_sensitive && /slow && /cloud && /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "6" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 10 - -tezt-flaky: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - allow_failure: true - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -flaky - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && flaky - TEZT_RETRY: "3" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - -tezt:static-binaries: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - select_tezts - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - mv octez-binaries/x86_64/octez-* . - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --with-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --with-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && cli && - /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "3" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - -tezt-riscv-slow-sequential: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --junit-mem-peak - 'dd_tags[memory.peak]' --from-record tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} - --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json --job-count ${TEZT_PARALLEL} - --retry ${TEZT_RETRY} --record-mem-peak --mem-warn 5_000_000_000 --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' - --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: riscv_slow_sequential - TEZT_RETRY: "1" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - -oc.unified_coverage: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test_coverage - tags: - - gcp - rules: - - if: $GITLAB_USER_LOGIN == "nomadic-margebot" || $CI_MERGE_REQUEST_ASSIGNEES =~ - /nomadic-margebot/ || $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" - when: never - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - Makefile - - brassaia-eio/**/* - - brassaia/**/* - - cohttp/**/* - - data-encoding/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - michelson_test_scripts/**/* - - opam/**/* - - opentelemetry/**/* - - prometheus/**/* - - resto/**/* - - rust-toolchain - - script-inputs/**/* - - scripts/**/* - - sdk/**/* - - src/**/* - - tezt/**/* - - tzt_reference_test_suite/**/* - when: on_success - dependencies: - - oc.docker:ci:amd64 - - oc.unit:non-proto-x86_64 - - oc.unit:etherlink-x86_64 - - oc.unit:other-x86_64 - - oc.unit:proto-x86_64 - - tezt - - tezt-time-sensitive - - tezt-flaky - allow_failure: - exit_codes: 64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/report_coverage.sh || exit $? - variables: - TEZOS_WITHOUT_OPAM: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - SLACK_COVERAGE_CHANNEL: C02PHBE7W73 - artifacts: - expire_in: 15 days - paths: - - _coverage_report/ - - $BISECT_FILE - reports: - coverage_report: - coverage_format: cobertura - path: _coverage_report/cobertura.xml - when: always - expose_as: Coverage report - coverage: '/Coverage: ([^%]+%)/' - -documentation:install_python_bookworm: - image: debian:bookworm - stage: test - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - docs/developer/install-python-debian-ubuntu.sh - - poetry.lock - - pyproject.toml - when: on_success - - when: manual - allow_failure: true - needs: - - trigger - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} - ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} - -documentation:odoc: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - export OPAMFETCH='wget' - - opam remote add default https://opam.ocaml.org/ - - opam repo add archive git+https://github.com/ocaml/opam-repository-archive - - opam update - - opam install --yes odoc.2.4.4 - - make -C docs odoc-lite - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 hour - paths: - - docs/_build/api/odoc/ - - docs/odoc.log - when: always - -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: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - make -C docs -j octez-gen - 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 - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - trigger - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make -C docs -j docexes-gen - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - 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 - -documentation:build_all: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: on_success - needs: - - oc.docker:ci:amd64 - - documentation:odoc - - documentation:manuals - - documentation:docgen - dependencies: - - oc.docker:ci:amd64 - - documentation:odoc - - documentation:manuals - - documentation:docgen - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - make -C docs -j sphinx - - make -C docs -j _build/octezdoc.txt - artifacts: - expire_in: 1 week - paths: - - docs/_build/ - expose_as: Documentation - excluding old protocols - -documentation:linkcheck: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ - when: on_success - - changes: - - .gitlab-ci.yml - - .gitlab/ci/pipelines/before_merging.yml - - .gitlab/ci/pipelines/merge_train.yml - - brassaia/**/* - - client-libs/**/* - - data-encoding/**/* - - docs/**/* - - dune - - dune-project - - dune-workspace - - etherlink/**/* - - irmin/**/* - - script-inputs/**/*/ - - scripts/**/*/ - - src/**/* - - tezt/**/* - - vendors/**/* - when: manual - allow_failure: true - needs: - - oc.docker:ci:amd64 - - documentation:manuals - - documentation:docgen - - documentation:build_all - dependencies: - - oc.docker:ci:amd64 - - documentation:manuals - - documentation:docgen - - documentation:build_all - allow_failure: true - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - make -C docs redirectcheck - - make -C docs linkcheck - -oc.docker:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp - rules: - - changes: - - Dockerfile - - build.Dockerfile - when: on_success - - when: manual - allow_failure: true - needs: - - oc.docker:rust-toolchain:amd64 - - oc.docker:ci:amd64 - dependencies: - - oc.docker:rust-toolchain:amd64 - - oc.docker:ci:amd64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_release.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - DOCKER_BUILD_TARGET: with-evm-artifacts - IMAGE_ARCH_PREFIX: amd64_ - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables - -oc.docker:arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp_arm64 - rules: - - changes: - - Dockerfile - - build.Dockerfile - when: on_success - - when: manual - allow_failure: true - needs: - - oc.docker:ci:arm64 - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_release.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - DOCKER_BUILD_TARGET: without-evm-artifacts - IMAGE_ARCH_PREFIX: arm64_ - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables - -oc.script.docker_verify_image_arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp - rules: - - when: manual - allow_failure: true - needs: - - oc.docker:arm64 - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_verify_signature.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - IMAGE_ARCH_PREFIX: arm64_ - -oc.script.docker_verify_image_amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: manual - tags: - - gcp - rules: - - when: manual - allow_failure: true - needs: - - oc.docker:amd64 - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_verify_signature.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - IMAGE_ARCH_PREFIX: amd64_ diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 57e6dfbcd1a7..fcfc94ffc15e 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -2,12 +2,8 @@ # Edit file ci/bin/main.ml instead. stages: -- start - images -- sanity -- build - test -- packaging oc.docker:ci:amd64: image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 @@ -30,299 +26,17 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env -oc.docker:client-libs-dependencies: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/docker_client_libs_dependencies_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: client_libs_dependencies_image_tag.env - -oc.docker:jsonnet:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_jsonnet_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: jsonnet_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: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./scripts/ci/docker_rust_toolchain_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: rust_toolchain_image_tag.env - -oc.docker:rust-sdk-bindings:amd64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp - dependencies: [] - timeout: 60 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/docker_initialize.sh - script: - - ./scripts/ci/docker_rust_sdk_bindings_build.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - artifacts: - reports: - dotenv: rust_sdk_bindings_image_tag.env - -oc.docker:ci:arm64: - image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 - stage: images - tags: - - gcp_arm64 - dependencies: [] - timeout: 90 minutes - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./images/ci_create_ci_images.sh - services: - - docker:${DOCKER_VERSION}-dind - variables: - DOCKER_VERSION: 24.0.7 - CI_DOCKER_HUB: "false" - ARCH: arm64 - artifacts: - reports: - dotenv: ci_image_tag.env - retry: - max: 1 - when: - - runner_system_failure - -datadog_pipeline_trace: - image: datadog/ci:v2.44.0 - stage: start - tags: - - gcp - dependencies: [] - allow_failure: true - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - CI_MERGE_REQUEST_IID=${CI_MERGE_REQUEST_IID:-none} - - DATADOG_SITE=datadoghq.eu datadog-ci tag --level pipeline --tags pipeline_type:$PIPELINE_TYPE - --tags mr_number:$CI_MERGE_REQUEST_IID - -sanity_ci: - image: ${ci_image_name_protected}/build:amd64--master - stage: sanity - tags: - - gcp - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - script: - - make --silent -C manifest check - - make --silent -C ci check - -docker:hadolint: - image: hadolint/hadolint:2.12.0-alpine - stage: sanity - tags: - - gcp - rules: - - when: always - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - hadolint build.Dockerfile - - hadolint Dockerfile - -oc.ocaml_fmt: - image: ${ci_image_name_protected}/build:amd64--master - stage: sanity - tags: - - gcp - rules: - - when: always - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - key: dune_cache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - scripts/lint.sh --check-ocamlformat - - dune build --profile=dev @fmt - after_script: - - eval $(opam env) - - dune cache trim --size=5GB - variables: - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - -oc.semgrep: - image: returntocorp/semgrep-agent:sha-c6cd7cf - stage: sanity - tags: - - gcp - rules: - - when: always - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - echo "OCaml code linting. For information on how to reproduce locally, check out - scripts/semgrep/README.md" - - sh ./scripts/semgrep/lint-all-ocaml-sources.sh - -oc.misc_checks: - image: ${ci_image_name_protected}/test:amd64--master - stage: sanity - tags: - - gcp - rules: - - when: always - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - ./scripts/ci/lint_misc_check.sh - - scripts/check_wasm_pvm_regressions.sh check - - etherlink/scripts/check_evm_store_migrations.sh check - - ./scripts/check_rollup_node_sql_migrations.sh check - - ./src/lib_dal_node/scripts/check_dal_store_migrations.sh check - -check_jsonnet: - image: ${jsonnet_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - cd grafazos/ - - jb install github.com/grafana/grafonnet/gen/grafonnet-v11.1.0@1ce5aec - - cd ../ - script: - - scripts/lint.sh --check-jsonnet-format - - scripts/lint.sh --check-jsonnet-lint - -check_rust_fmt: - image: ${rust_toolchain_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - scripts/check-format-rust.sh - -documentation:rst-check: - image: ${ci_image_name_protected}/test:amd64--master - stage: sanity - tags: - - gcp - rules: - - when: always - needs: [] - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . $HOME/.venv/bin/activate - script: - - make --silent -C docs sphinx-check - -oc.build_arm64-released: +ocaml-check: image: ${ci_image_name}/build:${ci_image_tag} - stage: build + stage: test tags: - - gcp_arm64 + - gcp_very_high_cpu rules: - when: always + needs: + - oc.docker:ci:amd64 dependencies: - - oc.docker:ci:arm64 + - oc.docker:ci:amd64 timeout: 60 minutes cache: - key: cargo-$CI_JOB_NAME_SLUG @@ -333,9 +47,9 @@ oc.build_arm64-released: paths: - $CI_PROJECT_DIR/_sccache policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG + - key: dune_cache-$CI_JOB_NAME_SLUG paths: - - $CI_PROJECT_DIR/_target + - $CI_PROJECT_DIR/_dune_cache policy: pull-push interruptible: false before_script: @@ -345,3371 +59,20 @@ oc.build_arm64-released: - eval $(opam env) - . ./scripts/ci/sccache-start.sh script: - - ./scripts/ci/build_full_unreleased.sh + - dune build @check --stop-on-first-error after_script: - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - 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_arm64-exp-dev-extra: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - when: always - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh + - dune cache trim --size=4GB variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/experimental-executables script-inputs/dev-executables - BUILD_EXTRA: src/bin_tps_evaluation/main_tps_evaluation.exe src/bin_octogram/octogram_main.exe - tezt/tests/main.exe CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - 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:static-x86_64-linux-binaries: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_static_binaries.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - paths: - - octez-binaries/$ARCH/* - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.build:static-arm64-linux-binaries: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - when: always - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_static_binaries.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - EXECUTABLE_FILES: script-inputs/octez-released-executables script-inputs/octez-experimental-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - paths: - - octez-binaries/$ARCH/* - -oc.build_x86_64-released: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - COVERAGE_OPTIONS: --instrument-with bisect_ppx - 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 - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.build_x86_64-exp-dev-extra: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/build_full_unreleased.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/experimental-executables 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" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - COVERAGE_OPTIONS: --instrument-with bisect_ppx 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 retry: max: 2 when: - stuck_or_timeout_failure - runner_system_failure - -wasm-runtime-check: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - etherlink/lib_wasm_runtime/lint.sh - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.build_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: build - tags: - - gcp - rules: - - when: on_success - dependencies: - - oc.docker:rust-toolchain:amd64 - timeout: 60 minutes - cache: - - key: kernels-sccache - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f kernels.mk build - - make -f etherlink.mk evm_kernel.wasm - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - CARGO_NET_OFFLINE: "false" - artifacts: - name: build-kernels-$CI_COMMIT_REF_SLUG - expire_in: 1 day - paths: - - evm_kernel.wasm - - smart-rollup-installer - - sequenced_kernel.wasm - - tx_kernel.wasm - - tx_kernel_dal.wasm - - dal_echo_kernel.wasm - when: on_success - -oc.build_dsn_node: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: build - tags: - - gcp - rules: - - when: on_success - dependencies: - - oc.docker:rust-toolchain:amd64 - timeout: 60 minutes - cache: - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk octez-dsn-node - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - CARGO_NET_OFFLINE: "false" - artifacts: - name: build-dsn-node-$CI_COMMIT_REF_SLUG - expire_in: 1 day - paths: - - octez-dsn-node - when: on_success - -oc.tezt:fetch-records: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - when: always - dependencies: - - oc.docker:ci:amd64 - allow_failure: true - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - dune exec scripts/ci/update_records/update.exe -- --log-file tezt-fetch-records.log - --from last-successful-schedule-extended-test --info - after_script: - - ./scripts/ci/filter_corrupted_records.sh - artifacts: - expire_in: 4 hours - paths: - - tezt-fetch-records.log - - tezt/records/*.json - - tezt/records/*.json.broken - when: always - -build_octez_source: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/restrict_export_to_octez_source.sh - - ./scripts/ci/create_octez_tarball.sh octez - - mv octez.tar.bz2 ../ - - cd ../ - - tar xf octez.tar.bz2 - - cd octez/ - - eval $(opam env) - - make octez - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - -grafazos.build_dashboards: - image: ${jsonnet_image_name}:${jsonnet_image_tag} - stage: build - tags: - - gcp - rules: - - when: always - dependencies: - - oc.docker:jsonnet:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - cd grafazos/ - - jb install github.com/grafana/grafonnet/gen/grafonnet-v11.1.0@1ce5aec - script: - - make - artifacts: - name: grafazos-dashboards - expire_in: 1 day - paths: - - grafazos/output/**/*.json - when: on_success - -teztale.build:static-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu_ramfs - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make teztale - after_script: - - mkdir -p ./teztale-binaries/x86_64 - - mv octez-teztale-* ./teztale-binaries/x86_64/ - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - artifacts: - name: teztale-binaries - expire_in: 1 day - paths: - - teztale-binaries/x86_64/octez-teztale-* - when: on_success - -teztale.build:static-arm64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - when: always - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make teztale - after_script: - - mkdir -p ./teztale-binaries/arm64 - - mv octez-teztale-* ./teztale-binaries/arm64/ - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - name: teztale-binaries - expire_in: 1 day - paths: - - teztale-binaries/arm64/octez-teztale-* - when: on_success - -etherlink.build:static-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make evm-node-static - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - name: evm-binaries - paths: - - octez-evm-* - - etherlink-* - when: on_success - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -etherlink.build:static-arm64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_arm64 - rules: - - when: always - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: rust-targets-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_target - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make evm-node-static - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps - OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps - OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime - artifacts: - name: evm-binaries - paths: - - octez-evm-* - - etherlink-* - when: on_success - -build-layer1-profiling: - image: ${ci_image_name}/build:${ci_image_tag} - stage: build - tags: - - gcp_very_high_cpu - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - scripts/slim-mode.sh on - - scripts/custom-flags.sh set -opaque - - TEZOS_PPX_PROFILER=profiling make build OCTEZ_EXECUTABLES?=octez-node - - TEZOS_PPX_PROFILER=opentelemetry make build OCTEZ_EXECUTABLES?=octez-node - - mkdir -p octez-binaries/x86_64/ - - mv octez-node octez-binaries/x86_64/ - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - PROFILE: static - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 day - paths: - - ./octez-binaries/x86_64/octez-node - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -opam:prepare: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 1 minute - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - git init _opam-repo-for-release - - ./scripts/opam-prepare-repo.sh dev ./ ./_opam-repo-for-release - - git -C _opam-repo-for-release add packages - - git -C _opam-repo-for-release commit -m "tezos packages" - artifacts: - paths: - - _opam-repo-for-release/ - -opam:all_6: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 6 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - tezos-protocol-genesis - - tezos-protocol-demo-noops - - tezos-protocol-demo-counter - - tezos-protocol-alpha - - tezos-dal-node-services - - tezos-benchmark - - octez-shell-libs - - octez-riscv-pvm - - octez-proto-libs - - octez-performance-metrics - - octez-lib-upnp - - octez-l2-libs - - efunc_core - - dal_node_migrations - -opam:exec_6: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 6 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - octez-version - - octez-protocol-compiler - -opam:all_2: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 2 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - octez-smart-rollup-node-lib - - octez-smart-rollup-node-PtParisB - - octez-smart-rollup-node-PtNairob - - octez-smart-rollup-node-PsQuebec - - octez-smart-rollup-node-PsParisC - - octez-smart-rollup-node-Proxford - - octez-protocol-alpha-libs - - octez-protocol-021-PsQuebec-libs - - octez-protocol-020-PsParisC-libs - - octez-protocol-019-PtParisB-libs - - octez-protocol-018-Proxford-libs - - octez-protocol-017-PtNairob-libs - - octez-protocol-016-PtMumbai-libs - - octez-protocol-000-Ps9mPmXa-libs - - octez-injector - - octez-baker-lib - -opam:all_1: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 1 minute - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - octez-smart-rollup-node-alpha - - octez-smart-rollup-node-PtSeouLo - - octez-smart-rollup-node-PsRiotum - - octez-protocol-023-PtSeouLo-libs - - octez-protocol-022-PsRiotum-libs - -opam:all_3: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 3 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - octez-rpc-process - - octez-protocol-015-PtLimaPt-libs - - octez-protocol-014-PtKathma-libs - - octez-protocol-013-PtJakart-libs - - octez-protocol-012-Psithaca-libs - - octez-protocol-011-PtHangz2-libs - - octez-protocol-010-PtGRANAD-libs - - octez-protocol-009-PsFLoren-libs - - octez-protocol-008-PtEdo2Zk-libs - - octez-protocol-007-PsDELPH1-libs - - octez-protocol-006-PsCARTHA-libs - - octez-protocol-005-PsBabyM1-libs - - octez-protocol-004-Pt24m4xi-libs - - octez-protocol-003-PsddFKi3-libs - - octez-protocol-002-PsYLVpVv-libs - - octez-protocol-001-PtCJ7pwo-libs - -opam:exec_4: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 4 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - octez-signer - -opam:all_4: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 4 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - tezos-protocol-008-PtEdo2Zk - - tezos-protocol-007-PsDELPH1 - - tezos-protocol-006-PsCARTHA - - tezos-protocol-005-PsBabyM1 - - tezos-protocol-005-PsBABY5H - - tezos-protocol-004-Pt24m4xi - - tezos-protocol-003-PsddFKi3 - - tezos-protocol-002-PsYLVpVv - - tezos-protocol-001-PtCJ7pwo - - tezos-protocol-000-Ps9mPmXa - - tezos-dal-node-lib - - tezos-client-genesis - - tezos-client-demo-counter - - octez-node-config - - octez-crawler - -opam:exec_1: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 1 minute - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - octez-smart-rollup-node - - octez-node - - octez-dal-node - - octez-codec - - octez-client - - octez-baker-PtSeouLo - - octez-baker-PsRiotum - - octez-baker - - octez-accuser-PtSeouLo - - octez-accuser-PsRiotum - - octez-accuser - -opam:all_5: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 5 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - tezos-protocol-023-PtSeouLo - - tezos-protocol-022-PsRiotum - - tezos-protocol-021-PsQuebec - - tezos-protocol-020-PsParisC - - tezos-protocol-019-PtParisB - - tezos-protocol-018-Proxford - - tezos-protocol-017-PtNairob - - tezos-protocol-016-PtMumbai - - tezos-protocol-015-PtLimaPt - - tezos-protocol-014-PtKathma - - tezos-protocol-013-PtJakart - - tezos-protocol-012-Psithaca - - tezos-protocol-011-PtHangz2 - - tezos-protocol-010-PtGRANAD - - tezos-protocol-009-PsFLoren - - tezos-protocol-008-PtEdoTez - -opam:all_7: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: packaging - tags: - - gcp - rules: - - when: delayed - start_in: 7 minutes - needs: - - oc.docker:ci:amd64 - - opam:prepare - dependencies: - - oc.docker:ci:amd64 - - opam:prepare - timeout: 90 minutes - cache: - - key: opam-sccache - paths: - - $CI_PROJECT_DIR/_build/_sccache - policy: pull-push - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - - . ./scripts/ci/sccache-start.sh - script: - - opam remote add dev-repo ./_opam-repo-for-release - - opam install --yes ${package}.dev - - opam reinstall --yes --with-test ${package}.dev - after_script: - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - - ./scripts/ci/sccache-stop.sh - variables: - RUNTEZTALIAS: "true" - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_CACHE_SIZE: 5G - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_IDLE_TIMEOUT: "0" - CARGO_NET_OFFLINE: "false" - artifacts: - expire_in: 1 week - paths: - - opam_logs/ - when: always - retry: 2 - parallel: - matrix: - - package: - - tezt-tezos - - tezos-openapi - - octez-rustzcash-deps - - octez-rust-deps - - octez-riscv-api - - octez-protocol-compiler-compat - - octez-libs - - octez-lib-upnp-args - - octez-internal-libs - - octez-igd-next - - octez-distributed-lwt-internal - - octez-distributed-internal - - octez-alcotezt - - bls12-381 - -trigger:debian_repository_full: - stage: test - variables: - PIPELINE_TYPE: schedule_extended_test-debian_repository_full - needs: [] - trigger: - include: .gitlab/ci/pipelines/debian_repository_full.yml - strategy: depend - -trigger:rpm_repository_full: - stage: test - variables: - PIPELINE_TYPE: schedule_extended_test-rpm_repository_full - needs: [] - trigger: - include: .gitlab/ci/pipelines/rpm_repository_full.yml - strategy: depend - -trigger:homebrew: - stage: test - variables: - PIPELINE_TYPE: schedule_extended_test-homebrew - rules: - - when: always - needs: [] - trigger: - include: .gitlab/ci/pipelines/homebrew.yml - strategy: depend - -trigger:base_images: - stage: images - variables: - PIPELINE_TYPE: schedule_extended_test-base_images - rules: - - when: always - needs: [] - trigger: - include: .gitlab/ci/pipelines/base_images.yml - strategy: depend - -kaitai_checks: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make -C ${CI_PROJECT_DIR} check-kaitai-struct-files || (echo 'Octez encodings - and Kaitai files seem to be out of sync. You might need to run `make check-kaitai-struct-files` - and commit the resulting diff.' ; false) - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 hour - paths: - - _build/default/client-libs/bin_codec_kaitai/codec.exe - when: on_success - -kaitai_e2e_checks: - image: ${client_libs_dependencies_image_name}:${client_libs_dependencies_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:client-libs-dependencies - - kaitai_checks - dependencies: - - oc.docker:client-libs-dependencies - - kaitai_checks - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - . ./scripts/install_build_deps.js.sh - script: - - ./client-libs/kaitai-struct-files/scripts/kaitai_e2e.sh client-libs/kaitai-struct-files/files - 2>/dev/null - -oc.check_lift_limits_patch: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - '[ $(git apply --numstat src/bin_tps_evaluation/lift_limits.patch | cut -f3) = - "src/proto_alpha/lib_protocol/main.ml" ]' - - git apply src/bin_tps_evaluation/lift_limits.patch - - dune build @src/proto_alpha/lib_protocol/check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.python_check: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - . $HOME/.venv/bin/activate - script: - - ./scripts/ci/lint_misc_python_check.sh - -oc.integration:compiler-rejections: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @runtest_rejections - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -oc.script:test-gen-genesis: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - cd scripts/gen-genesis - script: - - dune build gen_genesis.exe - -oc.script:snapshot_alpha_and_link: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - ./scripts/ci/script:snapshot_alpha_and_link.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.script:test_octez_release_versions: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - ./scripts/test_octez_release_version.sh - -oc.script:b58_prefix: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - . $HOME/.venv/bin/activate - script: - - poetry run pylint scripts/b58_prefix/b58_prefix.py --disable=missing-docstring - --disable=invalid-name - - poetry run pytest scripts/b58_prefix/test_b58_prefix.py - -oc.test-liquidity-baking-scripts: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - ./scripts/ci/test_liquidity_baking_scripts.sh - -oc:scripts:release_script_values: - image: ${ci_image_name}/prebuild:${ci_image_tag} - stage: test - tags: - - gcp - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - scripts/ci/test_release_values.sh - -mir_unit: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - 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: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - cargo test --manifest-path contrib/mir/Cargo.toml - variables: - CARGO_NET_OFFLINE: "false" - -mir_tzt: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - 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: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - cargo run --manifest-path contrib/mir/Cargo.toml --bin tzt_runner tzt_reference_test_suite/*.tzt - variables: - CARGO_NET_OFFLINE: "false" - -test_sdk_rust: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C sdk/rust check - - make -C sdk/rust test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_sdk_bindings: - image: ${rust_sdk_bindings_image_name}:${rust_sdk_bindings_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - dependencies: - - oc.docker:rust-sdk-bindings:amd64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . $HOME/.venv/bin/activate - - . ./scripts/ci/sccache-start.sh - script: - - make -C contrib/sdk-bindings check - - make -C contrib/sdk-bindings test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f kernels.mk check - - make -f kernels.mk test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_etherlink_kernel: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk check - - make -f etherlink.mk test - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_etherlink_firehose: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C etherlink/firehose check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -audit_riscv_deps: - image: ${rust_toolchain_image_name_protected}:master - stage: sanity - tags: - - gcp - rules: - - when: on_success - needs: [] - dependencies: [] - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C src/riscv audit - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -check_riscv_kernels: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - audit_riscv_deps - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -C src/riscv CHECK_FLAGS= EXTRA_FLAGS='--no-default-features --features ci' - check - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -test_evm_compatibility: - image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:rust-toolchain:amd64 - - oc.build_kernels - 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 - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/ci/sccache-start.sh - script: - - make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs evm-evaluation-assessor - - git clone --depth 1 --branch v14.1@etherlink https://github.com/functori/tests - ethereum_tests - - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_latest/evm_evaluation/resources/ - -c - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CC: clang - NATIVE_TARGET: x86_64-unknown-linux-musl - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - -ocaml-check: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune_cache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @check --stop-on-first-error - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=4GB - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.unit:non-proto-x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-nonproto-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:etherlink-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-etherlink-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:other-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_high_cpu - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-other-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:proto-x86_64: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune-build-cache-$CI_PIPELINE_ID - paths: - - $CI_PROJECT_DIR/_dune_cache - policy: pull - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - after_script: - - ./scripts/ci/sccache-stop.sh - - eval $(opam env) - - dune cache trim --size=5GB - variables: - ARCH: x86_64 - MAKE_TARGETS: test-proto-unit - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - DUNE_CACHE: enabled - DUNE_CACHE_STORAGE_MODE: hardlink - DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache - COVERAGE_OPTIONS: --instrument-with bisect_ppx - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 1 day - paths: - - test_results - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: test_results/*.xml - when: always - retry: 2 - -oc.unit:non-proto-arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - when: on_success - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - cache: - - key: cargo-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/.cargo/registry/cache - policy: pull-push - - key: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make $MAKE_TARGETS - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - ARCH: arm64 - MAKE_TARGETS: test-nonproto-unit test-webassembly - DISTRIBUTE_TESTS_TO_PARALLELS: "true" - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - name: $CI_JOB_NAME-$CI_COMMIT_SHA-${ARCH} - expire_in: 1 day - paths: - - test_results - reports: - junit: test_results/*.xml - when: always - retry: 2 - parallel: 2 - -oc.unit:webassembly-x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 20 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - script: - - make test-webassembly - -oc.unit:protocol_compiles: - image: ${ci_image_name}/build:${ci_image_tag} - stage: test - tags: - - gcp_very_high_cpu - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - dune build @runtest_compile_protocol - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -de.unit:x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest data-encoding - -de.unit:arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - when: always - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest data-encoding - -resto.unit:x86_64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: always - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - dependencies: - - oc.docker:ci:amd64 - timeout: 10 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest resto - -resto.unit:arm64: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp_arm64 - rules: - - when: always - needs: - - oc.docker:ci:arm64 - - oc.build_arm64-released - - oc.build_arm64-exp-dev-extra - dependencies: - - oc.docker:ci:arm64 - timeout: 10 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - dune runtest resto - -oc.install_opam_noble: - image: ocaml/opam:ubuntu-24.04 - stage: test - tags: - - gcp - rules: - - when: always - dependencies: [] - allow_failure: true - timeout: 2 hours - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/install-opam.sh - variables: - OPAMJOBS: "4" - -oc.compile_sources_doc_bookworm: - image: ocaml/opam:debian-12 - stage: test - tags: - - gcp_very_high_cpu - rules: - - when: always - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/compile-sources.sh tezos/tezos latest-release - variables: - CARGO_HOME: /home/opam/.cargo - CARGO_NET_OFFLINE: "false" - retry: - max: 2 - when: - - stuck_or_timeout_failure - - runner_system_failure - -oc.compile_sources_doc_oracular: - image: ocaml/opam:ubuntu-24.10 - stage: test - tags: - - gcp - rules: - - when: always - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/introduction/compile-sources.sh tezos/tezos latest-release - variables: - CARGO_HOME: /home/opam/.cargo - CARGO_NET_OFFLINE: "false" - -tezt: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 40 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --keep-going --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag - 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "6" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 50 - -tezt-time-sensitive: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --keep-going --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag - 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -time_sensitive - TESTS: time_sensitive && /ci_disabled && /slow && /extra && /cloud - TEZT_RETRY: "1" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - -tezt-slow: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --junit-mem-peak - 'dd_tags[memory.peak]' --from-record tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} - --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json --job-count ${TEZT_PARALLEL} - --retry ${TEZT_RETRY} --record-mem-peak --mem-warn 5_000_000_000 --keep-going - --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -slow - TESTS: slow && /ci_disabled && /time_sensitive && /extra && /cloud && not (file - = src/proto_019_PtParisA/lib_protocol/test/integration/test_adaptive_issuance_launch.ml) - TEZT_RETRY: "1" - TEZT_PARALLEL: "3" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 20 - -tezt-extra: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --keep-going --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag - 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -extra - TESTS: extra && /ci_disabled && /time_sensitive && /slow && /cloud && /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "6" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - parallel: 10 - -tezt-flaky: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - allow_failure: true - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --keep-going --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag - 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - - ./scripts/ci/merge_coverage.sh - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: -flaky - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && flaky - TEZT_RETRY: "3" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ - artifacts: - name: coverage-files-$CI_JOB_ID - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - - $BISECT_FILE/$CI_JOB_NAME_SLUG.* - reports: - junit: $JUNIT - when: always - retry: 2 - -tezt:static-binaries: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - mv octez-binaries/x86_64/octez-* . - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --test-timeout 540 --on-unknown-regression-files fail --junit - ${JUNIT} --junit-mem-peak 'dd_tags[memory.peak]' --from-record tezt/records --job - ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} --record-mem-peak --mem-warn - 5_000_000_000 --keep-going --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag - 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' --junit-tag 'dd_tags[tezt-tag.slow]=slow' - --junit-tag 'dd_tags[tezt-tag.extra]=extra' --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' - --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' - --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: /ci_disabled && /time_sensitive && /slow && /extra && /cloud && cli && - /flaky - TEZT_RETRY: "1" - TEZT_PARALLEL: "3" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - -tezt-riscv-slow-sequential: - image: ${ci_image_name}/e2etest:${ci_image_tag} - stage: test - tags: - - gcp_tezt - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - - oc.tezt:fetch-records - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - script: - - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" - CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" - - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records - --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv - - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit - --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log - --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --junit-mem-peak - 'dd_tags[memory.peak]' --from-record tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} - --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json --job-count ${TEZT_PARALLEL} - --retry ${TEZT_RETRY} --record-mem-peak --mem-warn 5_000_000_000 --keep-going - --junit-tag 'dd_tags[tezt-tag.flaky]=flaky' --junit-tag 'dd_tags[tezt-tag.time_sensitive]=time_sensitive' - --junit-tag 'dd_tags[tezt-tag.slow]=slow' --junit-tag 'dd_tags[tezt-tag.extra]=extra' - --junit-tag 'dd_tags[tezt-tag.infrastructure]=infrastructure' --junit-tag 'dd_tags[tezt-tag.layer1]=layer1' - --junit-tag 'dd_tags[tezt-tag.tezos2]=tezos2' --junit-tag 'dd_tags[tezt-tag.etherlink]=etherlink' - --junit-tag 'dd_tags[tezt-tag.memory_hungry]=memory_hungry' - variables: - JUNIT: tezt-junit.xml - TEZT_VARIANT: "" - TESTS: riscv_slow_sequential - TEZT_RETRY: "1" - TEZT_PARALLEL: "1" - TEZT_NO_NPX: "true" - artifacts: - expire_in: 7 days - paths: - - selected_tezts.tsv - - tezt.log - - tezt-*.log - - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - - $JUNIT - reports: - junit: $JUNIT - when: always - retry: 2 - -documentation:install_python_noble: - image: public.ecr.aws/lts/ubuntu:24.04_stable - stage: test - tags: - - gcp - rules: - - when: always - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/developer/install-python-debian-ubuntu.sh tezos/tezos master - -documentation:install_python_jammy: - image: public.ecr.aws/lts/ubuntu:22.04_stable - stage: test - tags: - - gcp - rules: - - when: always - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/developer/install-python-debian-ubuntu.sh tezos/tezos master - -documentation:install_python_bookworm: - image: debian:bookworm - stage: test - tags: - - gcp - rules: - - when: always - dependencies: [] - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - script: - - ./docs/developer/install-python-debian-ubuntu.sh tezos/tezos master - -documentation:odoc: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - export OPAMFETCH='wget' - - opam remote add default https://opam.ocaml.org/ - - opam repo add archive git+https://github.com/ocaml/opam-repository-archive - - opam update - - opam install --yes odoc.2.4.4 - - make -C docs odoc-lite - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - artifacts: - expire_in: 1 hour - paths: - - docs/_build/api/odoc/ - - docs/odoc.log - when: always - -documentation:manuals: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - when: always - needs: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - dependencies: - - oc.docker:ci:amd64 - - oc.build_x86_64-released - - oc.build_x86_64-exp-dev-extra - - oc.build_kernels - - oc.build_dsn_node - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - script: - - make -C docs -j octez-gen - 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 - tags: - - gcp - rules: - - when: always - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . ./scripts/ci/sccache-start.sh - script: - - make -C docs -j docexes-gen - after_script: - - ./scripts/ci/sccache-stop.sh - variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 5G - 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 - -documentation:build_all: - image: ${ci_image_name}/test:${ci_image_tag} - stage: build - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - documentation:odoc - - documentation:manuals - - documentation:docgen - dependencies: - - oc.docker:ci:amd64 - - documentation:odoc - - documentation:manuals - - documentation:docgen - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - make -C docs -j sphinx - - make -C docs -j _build/octezdoc.txt - artifacts: - expire_in: 1 week - paths: - - docs/_build/ - expose_as: Documentation - excluding old protocols - -documentation:linkcheck: - image: ${ci_image_name}/test:${ci_image_tag} - stage: test - tags: - - gcp - rules: - - when: on_success - needs: - - oc.docker:ci:amd64 - - documentation:manuals - - documentation:docgen - - documentation:build_all - dependencies: - - oc.docker:ci:amd64 - - documentation:manuals - - documentation:docgen - - documentation:build_all - allow_failure: true - timeout: 60 minutes - interruptible: false - before_script: - - . ./scripts/ci/datadog_send_job_info.sh - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate - script: - - make -C docs redirectcheck - - make -C docs linkcheck diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index 109bb7ca151b..ef8da140c852 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -921,7 +921,7 @@ let jobs pipeline_type = ~stage:Stages.test ~retry: {max = 2; when_ = [Stuck_or_timeout_failure; Runner_system_failure]} - ~dependencies:dependencies_needs_start + ~dependencies:(Dependent []) ~rules:(make_rules ~changes:changeset_ocaml_check_files ()) ~before_script: (before_script @@ -1296,20 +1296,22 @@ let jobs pipeline_type = ~before_script:(before_script ~eval_opam:true []) ["dune runtest resto"] in - [ - job_ocaml_check; - oc_unit_non_proto_x86_64; - oc_unit_etherlink_x86_64; - oc_unit_other_x86_64; - oc_unit_proto_x86_64; - oc_unit_non_proto_arm64; - oc_unit_webassembly_x86_64; - oc_unit_protocol_compiles; - de_unit Amd64 (); - de_unit Arm64 ~storage:Ramfs (); - resto_unit Amd64 (); - resto_unit Arm64 ~storage:Ramfs (); - ] + ignore + [ + job_ocaml_check; + oc_unit_non_proto_x86_64; + oc_unit_etherlink_x86_64; + oc_unit_other_x86_64; + oc_unit_proto_x86_64; + oc_unit_non_proto_arm64; + oc_unit_webassembly_x86_64; + oc_unit_protocol_compiles; + de_unit Amd64 (); + de_unit Arm64 ~storage:Ramfs (); + resto_unit Amd64 (); + resto_unit Arm64 ~storage:Ramfs (); + ] ; + [job_ocaml_check] in let job_oc_integration_compiler_rejections : tezos_job = job @@ -1909,8 +1911,10 @@ let jobs pipeline_type = job_base_images_trigger; ] in - jobs_debian @ jobs_misc @ jobs_sdk_rust @ jobs_sdk_bindings @ jobs_kernels - @ jobs_unit @ jobs_install_octez @ jobs_tezt + ignore + (jobs_debian @ jobs_misc @ jobs_sdk_rust @ jobs_sdk_bindings + @ jobs_kernels @ jobs_unit @ jobs_install_octez @ jobs_tezt) ; + jobs_unit in (*Coverage jobs *) @@ -2201,4 +2205,6 @@ let jobs pipeline_type = (* No manual jobs on the scheduled pipeline *) | Schedule_extended_test -> [] in - start_stage @ sanity @ build @ packaging @ test @ coverage @ doc @ manual + ignore + (start_stage @ sanity @ build @ packaging @ test @ coverage @ doc @ manual) ; + test -- GitLab From f7f55e515048a6e07b2bd8a295ebcd1ce0ea2fe6 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 13:50:40 +0200 Subject: [PATCH 03/13] CI: add cache stats for [ocaml-check] --- .gitlab/ci/pipelines/before_merging.yml | 2 ++ .gitlab/ci/pipelines/merge_train.yml | 2 ++ .gitlab/ci/pipelines/schedule_extended_test.yml | 2 ++ ci/bin/code_verification.ml | 6 +++++- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index f769b2798fd1..7bf8a6265428 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -67,7 +67,9 @@ ocaml-check: - eval $(opam env) - . ./scripts/ci/sccache-start.sh script: + - scripts/ci/cache_stats.sh - dune build @check --stop-on-first-error + - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index f769b2798fd1..7bf8a6265428 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -67,7 +67,9 @@ ocaml-check: - eval $(opam env) - . ./scripts/ci/sccache-start.sh script: + - scripts/ci/cache_stats.sh - dune build @check --stop-on-first-error + - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index fcfc94ffc15e..de74f931b9b9 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -59,7 +59,9 @@ ocaml-check: - eval $(opam env) - . ./scripts/ci/sccache-start.sh script: + - scripts/ci/cache_stats.sh - dune build @check --stop-on-first-error + - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index ef8da140c852..b69b53d7e1eb 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -932,7 +932,11 @@ let jobs pipeline_type = (* Stops on first error for easier detection of problems in the log and to reduce time to merge of other MRs further down the merge train. *) - ["dune build @check --stop-on-first-error"] + [ + "scripts/ci/cache_stats.sh"; + "dune build @check --stop-on-first-error"; + "scripts/ci/cache_stats.sh"; + ] |> enable_cargo_cache |> enable_sccache ~cache_size:"2G" |> enable_dune_cache ~cache_size:"4GB" -- GitLab From 9679c08b6fea06133d3b293805e14d353d9aafec Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 13:51:23 +0200 Subject: [PATCH 04/13] CI: fresh name [ocaml-check-new] to have fresh caches --- .gitlab/ci/pipelines/before_merging.yml | 2 +- .gitlab/ci/pipelines/merge_train.yml | 2 +- .gitlab/ci/pipelines/schedule_extended_test.yml | 2 +- ci/bin/code_verification.ml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index 7bf8a6265428..c0a369585f45 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -26,7 +26,7 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env -ocaml-check: +ocaml-check-new: image: ${ci_image_name}/build:${ci_image_tag} stage: test tags: diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 7bf8a6265428..c0a369585f45 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -26,7 +26,7 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env -ocaml-check: +ocaml-check-new: image: ${ci_image_name}/build:${ci_image_tag} stage: test tags: diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index de74f931b9b9..51b6f79889df 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -26,7 +26,7 @@ oc.docker:ci:amd64: reports: dotenv: ci_image_tag.env -ocaml-check: +ocaml-check-new: image: ${ci_image_name}/build:${ci_image_tag} stage: test tags: diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index b69b53d7e1eb..b52bbee3fbd2 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -915,7 +915,7 @@ let jobs pipeline_type = let job_ocaml_check : tezos_job = job ~__POS__ - ~name:"ocaml-check" + ~name:"ocaml-check-new" ~cpu:Very_high ~image:Images.CI.build ~stage:Stages.test -- GitLab From fec5a3ce1b41a8bf1ec848a127b0c4dc924b185f Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 13:58:33 +0200 Subject: [PATCH 05/13] fixup! CI: fresh name [ocaml-check-new] to have fresh caches --- scripts/ci/cache_stats.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 scripts/ci/cache_stats.sh diff --git a/scripts/ci/cache_stats.sh b/scripts/ci/cache_stats.sh new file mode 100755 index 000000000000..ab13fd7caf0b --- /dev/null +++ b/scripts/ci/cache_stats.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +set -eu + +CARGO_CACHE_DIR=$CI_PROJECT_DIR/.cargo/registry/cache + +DUNE_CACHE_DIR=$CI_PROJECT_DIR/_dune_cache + +SCCACHE_DIR=$CI_PROJECT_DIR/_sccache + +echo "Dune cache:" && du -sh "$DUNE_CACHE_DIR" 2> /dev/null || echo "No dune cache" +echo "Cargo cache:" && du -sh "$CARGO_CACHE_DIR" 2> /dev/null || echo "No cargo cache" +echo "sccache cache:" && du -sh "$SCCACHE_DIR" 2> /dev/null || echo "No sccache cache" + +dune cache size + +command -v sccache > /dev/null && sccache --show-stats || echo "sccache not available" -- GitLab From e2902473b134f35b8b2f178e310dd8bf61b7f9da Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 14:07:25 +0200 Subject: [PATCH 06/13] [scripts/cache_stats]: echo two commands previously not displayed --- scripts/ci/cache_stats.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ci/cache_stats.sh b/scripts/ci/cache_stats.sh index ab13fd7caf0b..d7ea6c85a87b 100755 --- a/scripts/ci/cache_stats.sh +++ b/scripts/ci/cache_stats.sh @@ -12,6 +12,6 @@ echo "Dune cache:" && du -sh "$DUNE_CACHE_DIR" 2> /dev/null || echo "No dune cac echo "Cargo cache:" && du -sh "$CARGO_CACHE_DIR" 2> /dev/null || echo "No cargo cache" echo "sccache cache:" && du -sh "$SCCACHE_DIR" 2> /dev/null || echo "No sccache cache" -dune cache size +echo "dune cache size" && dune cache size -command -v sccache > /dev/null && sccache --show-stats || echo "sccache not available" +echo "sccache --show-stats" && command -v sccache > /dev/null && sccache --show-stats || echo "sccache not available" -- GitLab From df51f56d82578eed1af7f5d9f098a4e348a0a55b Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 14:08:25 +0200 Subject: [PATCH 07/13] [ocaml-check] increase max size of cache (to prevent interference) --- .gitlab/ci/pipelines/before_merging.yml | 4 ++-- .gitlab/ci/pipelines/merge_train.yml | 4 ++-- .gitlab/ci/pipelines/schedule_extended_test.yml | 4 ++-- ci/bin/code_verification.ml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index c0a369585f45..c98880858965 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -73,11 +73,11 @@ ocaml-check-new: after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) - - dune cache trim --size=4GB + - dune cache trim --size=20GB variables: CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G + SCCACHE_CACHE_SIZE: 20G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index c0a369585f45..c98880858965 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -73,11 +73,11 @@ ocaml-check-new: after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) - - dune cache trim --size=4GB + - dune cache trim --size=20GB variables: CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G + SCCACHE_CACHE_SIZE: 20G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 51b6f79889df..6da8e6c3eb43 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -65,11 +65,11 @@ ocaml-check-new: after_script: - ./scripts/ci/sccache-stop.sh - eval $(opam env) - - dune cache trim --size=4GB + - dune cache trim --size=20GB variables: CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 2G + SCCACHE_CACHE_SIZE: 20G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index b52bbee3fbd2..00cdf19bc058 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -938,8 +938,8 @@ let jobs pipeline_type = "scripts/ci/cache_stats.sh"; ] |> enable_cargo_cache - |> enable_sccache ~cache_size:"2G" - |> enable_dune_cache ~cache_size:"4GB" + |> enable_sccache ~cache_size:"20G" + |> enable_dune_cache ~cache_size:"20GB" in (* This job triggers the debian child pipeline automatically if any files in the changeset is modified. It's the same as -- GitLab From 5eb597b52c90cc6d742604c8d77d283e8c24fc70 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 14:19:05 +0200 Subject: [PATCH 08/13] [ocaml-check] log build time --- .gitlab/ci/pipelines/before_merging.yml | 3 +++ .gitlab/ci/pipelines/merge_train.yml | 3 +++ .gitlab/ci/pipelines/schedule_extended_test.yml | 3 +++ ci/bin/code_verification.ml | 3 +++ 4 files changed, 12 insertions(+) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index c98880858965..c77a72d629cf 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -68,7 +68,10 @@ ocaml-check-new: - . ./scripts/ci/sccache-start.sh script: - scripts/ci/cache_stats.sh + - BUILD_START=$(date +%s) - dune build @check --stop-on-first-error + - BUILD_END=$(date +%s) + - echo 'Build completed in $((BUILD_END - BUILD_START)) seconds' - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index c98880858965..c77a72d629cf 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -68,7 +68,10 @@ ocaml-check-new: - . ./scripts/ci/sccache-start.sh script: - scripts/ci/cache_stats.sh + - BUILD_START=$(date +%s) - dune build @check --stop-on-first-error + - BUILD_END=$(date +%s) + - echo 'Build completed in $((BUILD_END - BUILD_START)) seconds' - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 6da8e6c3eb43..cac3295329a5 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -60,7 +60,10 @@ ocaml-check-new: - . ./scripts/ci/sccache-start.sh script: - scripts/ci/cache_stats.sh + - BUILD_START=$(date +%s) - dune build @check --stop-on-first-error + - BUILD_END=$(date +%s) + - echo 'Build completed in $((BUILD_END - BUILD_START)) seconds' - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index 00cdf19bc058..7479cefaa32f 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -934,7 +934,10 @@ let jobs pipeline_type = down the merge train. *) [ "scripts/ci/cache_stats.sh"; + "BUILD_START=$(date +%s)"; "dune build @check --stop-on-first-error"; + "BUILD_END=$(date +%s)"; + "echo 'Build completed in $((BUILD_END - BUILD_START)) seconds'"; "scripts/ci/cache_stats.sh"; ] |> enable_cargo_cache -- GitLab From 87e992ea76504a184d67af331c2cc30bcc861291 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 14:39:16 +0200 Subject: [PATCH 09/13] fixup! [ocaml-check] log build time --- .gitlab/ci/pipelines/before_merging.yml | 2 +- .gitlab/ci/pipelines/merge_train.yml | 2 +- .gitlab/ci/pipelines/schedule_extended_test.yml | 2 +- ci/bin/code_verification.ml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index c77a72d629cf..6265c6d52bb7 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -71,7 +71,7 @@ ocaml-check-new: - BUILD_START=$(date +%s) - dune build @check --stop-on-first-error - BUILD_END=$(date +%s) - - echo 'Build completed in $((BUILD_END - BUILD_START)) seconds' + - echo "Build completed in $((BUILD_END - BUILD_START)) seconds" - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index c77a72d629cf..6265c6d52bb7 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -71,7 +71,7 @@ ocaml-check-new: - BUILD_START=$(date +%s) - dune build @check --stop-on-first-error - BUILD_END=$(date +%s) - - echo 'Build completed in $((BUILD_END - BUILD_START)) seconds' + - echo "Build completed in $((BUILD_END - BUILD_START)) seconds" - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index cac3295329a5..cb4982bfb5c2 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -63,7 +63,7 @@ ocaml-check-new: - BUILD_START=$(date +%s) - dune build @check --stop-on-first-error - BUILD_END=$(date +%s) - - echo 'Build completed in $((BUILD_END - BUILD_START)) seconds' + - echo "Build completed in $((BUILD_END - BUILD_START)) seconds" - scripts/ci/cache_stats.sh after_script: - ./scripts/ci/sccache-stop.sh diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index 7479cefaa32f..a966ad0baec9 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -937,7 +937,7 @@ let jobs pipeline_type = "BUILD_START=$(date +%s)"; "dune build @check --stop-on-first-error"; "BUILD_END=$(date +%s)"; - "echo 'Build completed in $((BUILD_END - BUILD_START)) seconds'"; + "echo \"Build completed in $((BUILD_END - BUILD_START)) seconds\""; "scripts/ci/cache_stats.sh"; ] |> enable_cargo_cache -- GitLab From 12e6db513c965c8ac0ac59efbecc3b3a99b06571 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 15:22:39 +0200 Subject: [PATCH 10/13] CI: disable [cargo] and [sccache] caches in [ocaml-check] Not used since ocaml type checking with dune should not create rust compiling files. --- .gitlab/ci/pipelines/before_merging.yml | 15 +-------------- .gitlab/ci/pipelines/merge_train.yml | 15 +-------------- .gitlab/ci/pipelines/schedule_extended_test.yml | 15 +-------------- ci/bin/code_verification.ml | 2 -- 4 files changed, 3 insertions(+), 44 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index 6265c6d52bb7..4e26e039ce19 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -48,15 +48,7 @@ ocaml-check-new: - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune_cache-$CI_JOB_NAME_SLUG + key: dune_cache-$CI_JOB_NAME_SLUG paths: - $CI_PROJECT_DIR/_dune_cache policy: pull-push @@ -65,7 +57,6 @@ ocaml-check-new: - ./scripts/ci/take_ownership.sh - . ./scripts/version.sh - eval $(opam env) - - . ./scripts/ci/sccache-start.sh script: - scripts/ci/cache_stats.sh - BUILD_START=$(date +%s) @@ -74,13 +65,9 @@ ocaml-check-new: - echo "Build completed in $((BUILD_END - BUILD_START)) seconds" - scripts/ci/cache_stats.sh after_script: - - ./scripts/ci/sccache-stop.sh - eval $(opam env) - dune cache trim --size=20GB variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 20G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 6265c6d52bb7..4e26e039ce19 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -48,15 +48,7 @@ ocaml-check-new: - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune_cache-$CI_JOB_NAME_SLUG + key: dune_cache-$CI_JOB_NAME_SLUG paths: - $CI_PROJECT_DIR/_dune_cache policy: pull-push @@ -65,7 +57,6 @@ ocaml-check-new: - ./scripts/ci/take_ownership.sh - . ./scripts/version.sh - eval $(opam env) - - . ./scripts/ci/sccache-start.sh script: - scripts/ci/cache_stats.sh - BUILD_START=$(date +%s) @@ -74,13 +65,9 @@ ocaml-check-new: - echo "Build completed in $((BUILD_END - BUILD_START)) seconds" - scripts/ci/cache_stats.sh after_script: - - ./scripts/ci/sccache-stop.sh - eval $(opam env) - dune cache trim --size=20GB variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 20G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index cb4982bfb5c2..16a75ef0079d 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -39,15 +39,7 @@ ocaml-check-new: - 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: sccache-$CI_JOB_NAME_SLUG - paths: - - $CI_PROJECT_DIR/_sccache - policy: pull-push - - key: dune_cache-$CI_JOB_NAME_SLUG + key: dune_cache-$CI_JOB_NAME_SLUG paths: - $CI_PROJECT_DIR/_dune_cache policy: pull-push @@ -57,7 +49,6 @@ ocaml-check-new: - ./scripts/ci/take_ownership.sh - . ./scripts/version.sh - eval $(opam env) - - . ./scripts/ci/sccache-start.sh script: - scripts/ci/cache_stats.sh - BUILD_START=$(date +%s) @@ -66,13 +57,9 @@ ocaml-check-new: - echo "Build completed in $((BUILD_END - BUILD_START)) seconds" - scripts/ci/cache_stats.sh after_script: - - ./scripts/ci/sccache-stop.sh - eval $(opam env) - dune cache trim --size=20GB variables: - CARGO_NET_OFFLINE: "false" - SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - SCCACHE_CACHE_SIZE: 20G DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink DUNE_CACHE_ROOT: $CI_PROJECT_DIR/_dune_cache diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index a966ad0baec9..6e7cb4806a49 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -940,8 +940,6 @@ let jobs pipeline_type = "echo \"Build completed in $((BUILD_END - BUILD_START)) seconds\""; "scripts/ci/cache_stats.sh"; ] - |> enable_cargo_cache - |> enable_sccache ~cache_size:"20G" |> enable_dune_cache ~cache_size:"20GB" in (* This job triggers the debian child pipeline automatically if any -- GitLab From 7bc825db42df6b8815b3ce927c48c0aedae79da6 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 15:35:33 +0200 Subject: [PATCH 11/13] CI: [ocaml-check] dune cache max size 2GB --- .gitlab/ci/pipelines/before_merging.yml | 2 +- .gitlab/ci/pipelines/merge_train.yml | 2 +- .gitlab/ci/pipelines/schedule_extended_test.yml | 2 +- ci/bin/code_verification.ml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index 4e26e039ce19..cfd525ede658 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -66,7 +66,7 @@ ocaml-check-new: - scripts/ci/cache_stats.sh after_script: - eval $(opam env) - - dune cache trim --size=20GB + - dune cache trim --size=2GB variables: DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 4e26e039ce19..cfd525ede658 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -66,7 +66,7 @@ ocaml-check-new: - scripts/ci/cache_stats.sh after_script: - eval $(opam env) - - dune cache trim --size=20GB + - dune cache trim --size=2GB variables: DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 16a75ef0079d..20e697cb9e45 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -58,7 +58,7 @@ ocaml-check-new: - scripts/ci/cache_stats.sh after_script: - eval $(opam env) - - dune cache trim --size=20GB + - dune cache trim --size=2GB variables: DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index 6e7cb4806a49..06391c130f4b 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -940,7 +940,7 @@ let jobs pipeline_type = "echo \"Build completed in $((BUILD_END - BUILD_START)) seconds\""; "scripts/ci/cache_stats.sh"; ] - |> enable_dune_cache ~cache_size:"20GB" + |> enable_dune_cache ~cache_size:"2GB" in (* This job triggers the debian child pipeline automatically if any files in the changeset is modified. It's the same as -- GitLab From 4b6da3743843c84347a8a524c0df543bdfa117e4 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 16:05:06 +0200 Subject: [PATCH 12/13] CI: tentative to fix cache trimming --- scripts/ci/cache_stats.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ci/cache_stats.sh b/scripts/ci/cache_stats.sh index d7ea6c85a87b..8d733704a7fe 100755 --- a/scripts/ci/cache_stats.sh +++ b/scripts/ci/cache_stats.sh @@ -4,11 +4,11 @@ set -eu CARGO_CACHE_DIR=$CI_PROJECT_DIR/.cargo/registry/cache -DUNE_CACHE_DIR=$CI_PROJECT_DIR/_dune_cache +DUNE_CACHE_ROOT=$CI_PROJECT_DIR/_dune_cache SCCACHE_DIR=$CI_PROJECT_DIR/_sccache -echo "Dune cache:" && du -sh "$DUNE_CACHE_DIR" 2> /dev/null || echo "No dune cache" +echo "Dune cache:" && du -sh "$DUNE_CACHE_ROOT" 2> /dev/null || echo "No dune cache" echo "Cargo cache:" && du -sh "$CARGO_CACHE_DIR" 2> /dev/null || echo "No cargo cache" echo "sccache cache:" && du -sh "$SCCACHE_DIR" 2> /dev/null || echo "No sccache cache" -- GitLab From cdf96377c9b67e643afc13cc4e7d4119a9299935 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Fri, 18 Jul 2025 16:11:36 +0200 Subject: [PATCH 13/13] CI: [ocaml-check] dune cache max size 3GB --- .gitlab/ci/pipelines/before_merging.yml | 2 +- .gitlab/ci/pipelines/merge_train.yml | 2 +- .gitlab/ci/pipelines/schedule_extended_test.yml | 2 +- ci/bin/code_verification.ml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index cfd525ede658..117b35e86b4a 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -66,7 +66,7 @@ ocaml-check-new: - scripts/ci/cache_stats.sh after_script: - eval $(opam env) - - dune cache trim --size=2GB + - dune cache trim --size=3GB variables: DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index cfd525ede658..117b35e86b4a 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -66,7 +66,7 @@ ocaml-check-new: - scripts/ci/cache_stats.sh after_script: - eval $(opam env) - - dune cache trim --size=2GB + - dune cache trim --size=3GB variables: DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 20e697cb9e45..394b37d34d1e 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -58,7 +58,7 @@ ocaml-check-new: - scripts/ci/cache_stats.sh after_script: - eval $(opam env) - - dune cache trim --size=2GB + - dune cache trim --size=3GB variables: DUNE_CACHE: enabled DUNE_CACHE_STORAGE_MODE: hardlink diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index 06391c130f4b..a6fa1e65e133 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -940,7 +940,7 @@ let jobs pipeline_type = "echo \"Build completed in $((BUILD_END - BUILD_START)) seconds\""; "scripts/ci/cache_stats.sh"; ] - |> enable_dune_cache ~cache_size:"2GB" + |> enable_dune_cache ~cache_size:"3GB" in (* This job triggers the debian child pipeline automatically if any files in the changeset is modified. It's the same as -- GitLab