diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index a92f42454f7bc16c966f4d37ba4964b04980b93f..117b35e86b4a5ce9bb75f9568e104c9f1708fa47 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,185 +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-new: + 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 + - devtools/**/* + - src/**/* + - tezt/**/* when: on_success - needs: [] - dependencies: [] + needs: + - oc.docker:ci:amd64 + dependencies: + - oc.docker:ci:amd64 timeout: 60 minutes cache: key: dune_cache-$CI_JOB_NAME_SLUG @@ -222,4166 +58,21 @@ oc.ocaml_fmt: - . ./scripts/version.sh - eval $(opam env) script: - - scripts/lint.sh --check-ocamlformat - - dune build --profile=dev @fmt + - 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: - eval $(opam env) - - dune cache trim --size=5GB + - dune cache trim --size=3GB 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 - 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/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=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.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 6c8f289aeb2e17aa4a72e4627de45da020fa49c7..117b35e86b4a5ce9bb75f9568e104c9f1708fa47 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,185 +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-new: + 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 + - devtools/**/* + - src/**/* + - tezt/**/* when: on_success - needs: [] - dependencies: [] + needs: + - oc.docker:ci:amd64 + dependencies: + - oc.docker:ci:amd64 timeout: 60 minutes cache: key: dune_cache-$CI_JOB_NAME_SLUG @@ -222,4117 +58,21 @@ oc.ocaml_fmt: - . ./scripts/version.sh - eval $(opam env) script: - - scripts/lint.sh --check-ocamlformat - - dune build --profile=dev @fmt + - 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: - eval $(opam env) - - dune cache trim --size=5GB + - dune cache trim --size=3GB 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 - 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/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=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.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 3363be2668b26d2bb582068735594069d822d0f5..394b37d34d1e3a735aeb48c12fdcf69023c0e995 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,172 +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 +ocaml-check-new: + image: ${ci_image_name}/build:${ci_image_tag} + stage: test tags: - - gcp + - gcp_very_high_cpu rules: - when: always - needs: [] - dependencies: [] + needs: + - oc.docker:ci:amd64 + dependencies: + - oc.docker:ci:amd64 timeout: 60 minutes cache: key: dune_cache-$CI_JOB_NAME_SLUG @@ -209,3507 +50,21 @@ oc.ocaml_fmt: - . ./scripts/version.sh - eval $(opam env) script: - - scripts/lint.sh --check-ocamlformat - - dune build --profile=dev @fmt + - 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: - eval $(opam env) - - dune cache trim --size=5GB + - dune cache trim --size=3GB 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: - 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 - 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 - 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=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.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 f504082fbac312e668c216726c7d6113e4767e47..a6fa1e65e133c16965b127bcacdb9600ef886ca0 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -915,13 +915,13 @@ 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 ~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 @@ -932,8 +932,15 @@ 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"] - |> enable_cargo_cache |> enable_sccache |> enable_dune_cache + [ + "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_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 @@ -1294,20 +1301,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 @@ -1907,8 +1916,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 *) @@ -2199,4 +2210,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 diff --git a/scripts/ci/cache_stats.sh b/scripts/ci/cache_stats.sh new file mode 100755 index 0000000000000000000000000000000000000000..8d733704a7feb724cf940d1d33e2b4b61bc0aa40 --- /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_ROOT=$CI_PROJECT_DIR/_dune_cache + +SCCACHE_DIR=$CI_PROJECT_DIR/_sccache + +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" + +echo "dune cache size" && dune cache size + +echo "sccache --show-stats" && command -v sccache > /dev/null && sccache --show-stats || echo "sccache not available"