diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index ff5da9908a34db05fa2550c860b20724b14a123d..232d54ca317cc6fa854265515c4f0327ba07dfc1 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -572,7 +572,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -664,7 +664,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -1306,7 +1306,7 @@ build_grafazos_dashboards: - grafazos/output/**/*.json when: on_success -build_teztale: +teztale.build:static-x86_64: image: ${ci_image_name}/build:${ci_image_tag} stage: build tags: @@ -1339,6 +1339,51 @@ build_teztale: 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: + name: teztale-binaries + expire_in: 1 day + paths: + - 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/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/ci/sccache-start.sh + script: + - make teztale + after_script: + - ./scripts/ci/sccache-stop.sh + variables: + PROFILE: static CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 5G diff --git a/.gitlab/ci/pipelines/master_branch.yml b/.gitlab/ci/pipelines/master_branch.yml index 6733752396836bca872509a24f47ea7b458f7997..0db1d64b587652883f8c4e349be8586bcbb687fe 100644 --- a/.gitlab/ci/pipelines/master_branch.yml +++ b/.gitlab/ci/pipelines/master_branch.yml @@ -106,7 +106,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -148,7 +148,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 diff --git a/.gitlab/ci/pipelines/merge_train.yml b/.gitlab/ci/pipelines/merge_train.yml index 816d384c52e535bf020b31573e7902676d4357d7..b75aa123e74b4b5c859b0360bc07686c4f165571 100644 --- a/.gitlab/ci/pipelines/merge_train.yml +++ b/.gitlab/ci/pipelines/merge_train.yml @@ -571,7 +571,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -663,7 +663,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -1305,7 +1305,7 @@ build_grafazos_dashboards: - grafazos/output/**/*.json when: on_success -build_teztale: +teztale.build:static-x86_64: image: ${ci_image_name}/build:${ci_image_tag} stage: build tags: @@ -1338,6 +1338,51 @@ build_teztale: 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: + name: teztale-binaries + expire_in: 1 day + paths: + - 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/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/ci/sccache-start.sh + script: + - make teztale + after_script: + - ./scripts/ci/sccache-stop.sh + variables: + PROFILE: static CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 5G diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index d491c20cd5bfa914e614a044fba362a64b5e5006..e76e8e149f3945b1b86c77cfc3b983056e8d2df3 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -101,7 +101,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G @@ -144,7 +144,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index b0c031519d740eb8335d72003d486b873cd28e29..1e26041904097bc816531d3b5ec89a1d7cd19338 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -101,7 +101,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G @@ -144,7 +144,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index 6cd925cff165a3678dd243153a4e2b2b5aeddba9..3af373ccaf88792a2e8e9b31abe973cdb5e30554 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -101,7 +101,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G @@ -144,7 +144,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G diff --git a/.gitlab/ci/pipelines/octez_monitoring.yml b/.gitlab/ci/pipelines/octez_monitoring.yml index b2b34c385b2575128310773a6718639fa7176a4d..e39a976460d5c8877428fa6a7f1a0a75846bceb9 100644 --- a/.gitlab/ci/pipelines/octez_monitoring.yml +++ b/.gitlab/ci/pipelines/octez_monitoring.yml @@ -54,6 +54,30 @@ oc.docker:jsonnet:amd64: reports: dotenv: jsonnet_image_tag.env +oc.docker:ci:arm64: + image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.12.0 + stage: images + tags: + - gcp_arm64 + dependencies: [] + timeout: 90 minutes + before_script: [] + 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 @@ -128,7 +152,30 @@ build-layer1-profiling: paths: - ./octez-binaries/x86_64/octez-node -build_teztale: +teztale.build:static-arm64: + image: ${ci_image_name}/build:${ci_image_tag} + stage: build + tags: + - gcp_arm64 + dependencies: + - oc.docker:ci:arm64 + timeout: 60 minutes + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - make teztale + variables: + PROFILE: static + artifacts: + name: teztale-binaries + expire_in: never + paths: + - octez-teztale-* + when: on_success + +teztale.build:static-x86_64: image: ${ci_image_name}/build:${ci_image_tag} stage: build tags: @@ -142,6 +189,8 @@ build_teztale: - eval $(opam env) script: - make teztale + variables: + PROFILE: static artifacts: name: teztale-binaries expire_in: never diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index 1110d16163a6b518a2f0b1773252bf1ef4d78d36..944d3e8ed8880e3a222196da8b1dbaeb25200b1a 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -102,7 +102,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G @@ -145,7 +145,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index 77ec2d0874e9af3c3ba3d81972ba17e3a3b52345..1e14c3bed1b81186bef4b801292d81656724f9b7 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -102,7 +102,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G @@ -145,7 +145,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 9bc33f5c7c9dba1296ea6df1f377cda9fcf45f22..bd02698782fc223af4a045779ebd38ce6a1df53d 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -418,7 +418,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -461,7 +461,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + 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 @@ -865,7 +865,7 @@ build_grafazos_dashboards: - grafazos/output/**/*.json when: on_success -build_teztale: +teztale.build:static-x86_64: image: ${ci_image_name}/build:${ci_image_tag} stage: build tags: @@ -895,6 +895,48 @@ build_teztale: 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: + name: teztale-binaries + expire_in: 1 day + paths: + - 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/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/ci/sccache-start.sh + script: + - make teztale + after_script: + - ./scripts/ci/sccache-stop.sh + variables: + PROFILE: static CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 5G diff --git a/.gitlab/ci/pipelines/schedule_master_test_release.yml b/.gitlab/ci/pipelines/schedule_master_test_release.yml index 00b4f54cf353663d5d2a8cf36ef0424593465f0e..a5fcba1827e78325abfeab51e35105dbb51434f6 100644 --- a/.gitlab/ci/pipelines/schedule_master_test_release.yml +++ b/.gitlab/ci/pipelines/schedule_master_test_release.yml @@ -101,7 +101,7 @@ oc.build:static-x86_64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: x86_64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G @@ -144,7 +144,7 @@ oc.build:static-arm64-linux-binaries: - ./scripts/ci/sccache-stop.sh variables: ARCH: arm64 - EXECUTABLE_FILES: script-inputs/released-executables + EXECUTABLE_FILES: script-inputs/octez-released-executables CARGO_NET_OFFLINE: "false" SCCACHE_DIR: $CI_PROJECT_DIR/_sccache SCCACHE_CACHE_SIZE: 2G diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index 6b1b0a7db328d4437e63200a59e0176985b7da06..82ba23d0edc35809046f7bd000acaffd95231c91 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -766,8 +766,9 @@ let jobs pipeline_type = | Schedule_extended_test -> Grafazos_ci.job_build_grafazos ~rules:[job_rule ~when_:Always ()] () in - let job_build_teztale = + let job_build_teztale ~arch = Teztale.job_build + ~arch ~rules:(make_rules ~manual:Yes ~changes:Teztale.changeset ()) () |> enable_cargo_cache |> enable_sccache @@ -786,7 +787,8 @@ let jobs pipeline_type = job_tezt_fetch_records; build_octez_source; job_build_grafazos; - job_build_teztale; + job_build_teztale ~arch:Amd64; + job_build_teztale ~arch:Arm64; job_build_layer1_profiling (); ] @ Option.to_list job_select_tezts diff --git a/ci/bin/common.ml b/ci/bin/common.ml index 4e5d2e37a2e30aca787a738a9f37be57aee62e2f..15df6cbb124ef09d3debfc134c3b18ec099c74a1 100644 --- a/ci/bin/common.ml +++ b/ci/bin/common.ml @@ -617,7 +617,7 @@ let changeset_mir_tzt = - released variants exist, that are used in release tag pipelines (they do not build experimental executables) *) let job_build_static_binaries ~__POS__ ~arch ?(cpu = Normal) - ?(executable_files = "script-inputs/released-executables") + ?(executable_files = "script-inputs/octez-released-executables") ?version_executable ?(release = false) ?rules ?dependencies () : tezos_job = let arch_string = arch_to_string arch in let name = "oc.build:static-" ^ arch_string ^ "-linux-binaries" in @@ -628,7 +628,8 @@ let job_build_static_binaries ~__POS__ ~arch ?(cpu = Normal) in let executable_files = executable_files - ^ if not release then " script-inputs/experimental-executables" else "" + ^ + if not release then " script-inputs/octez-experimental-executables" else "" in let version_executable = match version_executable with diff --git a/ci/bin/release_tag.ml b/ci/bin/release_tag.ml index b93cd9d5f25e8c7df76f922895f83314ed3f39d1..d30c3753759df57bcd448c333a37f1390604548c 100644 --- a/ci/bin/release_tag.ml +++ b/ci/bin/release_tag.ml @@ -52,7 +52,8 @@ let monitoring_child_pipeline = job_datadog_pipeline_trace; Grafazos_ci.job_build_grafazos (); job_build_layer1_profiling ~expire_in:Never (); - Teztale.job_build ~expire_in:Never (); + Teztale.job_build ~expire_in:Never ~arch:Arm64 (); + Teztale.job_build ~expire_in:Never ~arch:Amd64 (); ] (** Create an Octez release tag pipeline of type {!release_tag_pipeline_type}. diff --git a/teztale/ci/teztale.ml b/teztale/ci/teztale.ml index 311d6e76f5ff2b74fbe4731e40438571f20f5604..23489824cd86d5681fffce7289a8577bb0c809f4 100644 --- a/teztale/ci/teztale.ml +++ b/teztale/ci/teztale.ml @@ -13,13 +13,17 @@ module String_set = Set.Make (String) let changeset = Changeset.(make ["teztale/**/*"]) (** Job that builds the Teztale executables *) -let job_build ?rules ?(expire_in = Gitlab_ci.Types.(Duration (Days 1))) () = +let job_build ?rules ?(expire_in = Gitlab_ci.Types.(Duration (Days 1))) ~arch () + = + let arch_string = arch_to_string arch in job ~__POS__ - ~name:"build_teztale" + ~arch + ~name:("teztale.build:static-" ^ arch_string) ~image:Images.CI.build ~stage:Stages.build ?rules + ~variables:[("PROFILE", "static")] ~artifacts: (artifacts ~name:"teztale-binaries"