From 01c3ede72e2a08347893747906053bf945414c35 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Tue, 5 Mar 2024 11:41:32 +0100 Subject: [PATCH 01/54] [scripts]: fix instructions post CI-in-OCaml --- scripts/update_opam_repo.sh | 2 +- scripts/version.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/update_opam_repo.sh b/scripts/update_opam_repo.sh index 8d57ed8b1a6a..04ba7a9b23d0 100755 --- a/scripts/update_opam_repo.sh +++ b/scripts/update_opam_repo.sh @@ -144,5 +144,5 @@ git diff HEAD -- packages > "$target" echo echo "Wrote proposed update in: $target." echo 'Please add this patch to: https://gitlab.com/tezos/opam-repository' -echo 'And update accordingly the commit hash in: .gitlab/ci/templates.yml and scripts/version.sh' +echo 'And update accordingly the commit hash in: scripts/version.sh' echo diff --git a/scripts/version.sh b/scripts/version.sh index 6a0fa933db65..e3ef7ee0cb91 100755 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -29,7 +29,8 @@ export alpine_version='3.18' export full_opam_repository_tag=2314da5646931ec7f643bdc9aaa39177971ac857 ## opam_repository is an additional, tezos-specific opam repository. -## This value MUST be the same as `build_deps_image_version` in `.gitlab-ci.yml` +## This value MUST be reflected in the `build_deps_image_version` variable +## of `.gitlab-ci.yml`, which is ensured by running `make -C ci` from the root. export opam_repository_url=https://gitlab.com/tezos/opam-repository export opam_repository_tag="${OPAM_REPOSITORY_TAG:-d8bd1a0e555b2f9a32bce18a4022f6851c700bca}" export opam_repository_git="$opam_repository_url.git" -- GitLab From 2982d0f6b2d8afb99a534c5401fb8bccc2289740 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Fri, 12 Jan 2024 10:18:37 +0100 Subject: [PATCH 02/54] Manifest: write opam packages to test to [script-inputs] --- manifest/manifest.ml | 74 +++-------------------- script-inputs/ci-opam-package-tests | 93 +++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 67 deletions(-) create mode 100644 script-inputs/ci-opam-package-tests diff --git a/manifest/manifest.ml b/manifest/manifest.ml index 32c48797c1d8..1c8c468f368a 100644 --- a/manifest/manifest.ml +++ b/manifest/manifest.ml @@ -3850,47 +3850,7 @@ let packages_dir, release, remove_extra_files, manifezt = in (!packages_dir, release, !remove_extra_files, manifezt) -let print_opam_job_rules fmt batch_index pipeline_type marge_restriction = - Format.fprintf - fmt - {|@..rules_template__trigger_%s_opam_batch_%d: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: %s - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: %d minutes - # Run on merge requests when opam changes are detected. - - if: '%s' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: %d minutes - - when: never # default -|} - pipeline_type - batch_index - (string_of_int batch_index ^ " " - ^ if batch_index = 1 then "minute" else "minutes") - batch_index - marge_restriction - batch_index - -let generate_opam_ci opam_release_graph = +let generate_opam_ci_input opam_release_graph = (* We only need to test released packages, since those are the only one that will need to pass the public Opam CI. *) let contain_executables package = @@ -3946,38 +3906,18 @@ let generate_opam_ci opam_release_graph = List.sort by_name l in (* Now [packages] is a list of [batch_index, package_name] - where [batch_index] is 0 for packages that we do not need to test. *) - write ".gitlab/ci/jobs/packaging/opam_package.yml" @@ fun fmt -> - pp_do_not_edit ~comment_start:"#" fmt () ; - (* Output one template per batch. *) - let marge_restriction_exec = - "$CI_PIPELINE_SOURCE == \"merge_request_event\"" - in - let marge_restriction_all = - marge_restriction_exec ^ " && $GITLAB_USER_LOGIN == \"nomadic-margebot\"" - in - for batch_index = 1 to batch_count do - print_opam_job_rules fmt batch_index "exec" marge_restriction_exec ; - print_opam_job_rules fmt batch_index "all" marge_restriction_all - done ; - - (* Output one job per released package. *) + where [batch_index] is 0 for packages that we do not need to test. + Write the set of packages and whether they are executables to [script-inputs], + for consumption by the CI generator. *) + write "script-inputs/ci-opam-package-tests" @@ fun fmt -> let output_job (batch_index, package_name, is_executable) = if batch_index > 0 then Format.fprintf fmt - {|@.opam:%s: - extends: - - .opam_template - - .rules_template__trigger_%s_opam_batch_%d - variables: - package: %s -|} + "%s\t%s\t%d\n" package_name (if is_executable then "exec" else "all") batch_index - package_name - else Format.fprintf fmt "@.# Ignoring unreleased package %s.\n" package_name in List.iter output_job packages @@ -4444,7 +4384,7 @@ let generate ~make_tezt_exe ~tezt_exe_deps ~default_profile ~add_to_meta_package generate_dune_project_files () ; generate_package_json_file () ; let opam_release_graph = compute_opam_release_graph () in - generate_opam_ci opam_release_graph ; + generate_opam_ci_input opam_release_graph ; generate_executable_list "script-inputs/released-executables" Released ; generate_executable_list "script-inputs/experimental-executables" diff --git a/script-inputs/ci-opam-package-tests b/script-inputs/ci-opam-package-tests new file mode 100644 index 000000000000..bc72357d243a --- /dev/null +++ b/script-inputs/ci-opam-package-tests @@ -0,0 +1,93 @@ +bls12-381 all 7 +octez-accuser-Proxford exec 1 +octez-accuser-PtParisA exec 1 +octez-alcotezt all 7 +octez-baker-Proxford exec 1 +octez-baker-PtParisA exec 1 +octez-client exec 1 +octez-codec exec 1 +octez-crawler all 4 +octez-dac-client exec 1 +octez-dac-node exec 1 +octez-distributed-internal all 7 +octez-distributed-lwt-internal all 7 +octez-injector all 2 +octez-internal-libs all 7 +octez-l2-libs all 6 +octez-libs all 7 +octez-node exec 1 +octez-node-config all 4 +octez-proto-libs all 6 +octez-protocol-000-Ps9mPmXa-libs all 2 +octez-protocol-001-PtCJ7pwo-libs all 2 +octez-protocol-002-PsYLVpVv-libs all 2 +octez-protocol-003-PsddFKi3-libs all 3 +octez-protocol-004-Pt24m4xi-libs all 3 +octez-protocol-005-PsBabyM1-libs all 3 +octez-protocol-006-PsCARTHA-libs all 3 +octez-protocol-007-PsDELPH1-libs all 3 +octez-protocol-008-PtEdo2Zk-libs all 3 +octez-protocol-009-PsFLoren-libs all 3 +octez-protocol-010-PtGRANAD-libs all 3 +octez-protocol-011-PtHangz2-libs all 3 +octez-protocol-012-Psithaca-libs all 3 +octez-protocol-013-PtJakart-libs all 3 +octez-protocol-014-PtKathma-libs all 3 +octez-protocol-015-PtLimaPt-libs all 3 +octez-protocol-016-PtMumbai-libs all 2 +octez-protocol-017-PtNairob-libs all 2 +octez-protocol-018-Proxford-libs all 2 +octez-protocol-019-PtParisA-libs all 2 +octez-protocol-alpha-libs all 2 +octez-protocol-compiler exec 6 +octez-proxy-server exec 1 +octez-rpc-process all 3 +octez-shell-libs all 6 +octez-signer exec 4 +octez-smart-rollup-node exec 1 +octez-smart-rollup-node-Proxford all 1 +octez-smart-rollup-node-PtNairob all 2 +octez-smart-rollup-node-PtParisA all 1 +octez-smart-rollup-node-alpha all 2 +octez-smart-rollup-node-lib all 2 +octez-smart-rollup-wasm-debugger exec 1 +octez-smart-rollup-wasm-debugger-lib all 2 +octez-smart-rollup-wasm-debugger-plugin all 7 +octez-version exec 6 +tezos-benchmark all 6 +tezos-client-demo-counter all 4 +tezos-client-genesis all 4 +tezos-dac-client-lib all 4 +tezos-dac-lib all 4 +tezos-dac-node-lib all 2 +tezos-dal-node-lib all 4 +tezos-dal-node-services all 6 +tezos-openapi all 7 +tezos-protocol-000-Ps9mPmXa all 4 +tezos-protocol-001-PtCJ7pwo all 4 +tezos-protocol-002-PsYLVpVv all 4 +tezos-protocol-003-PsddFKi3 all 4 +tezos-protocol-004-Pt24m4xi all 4 +tezos-protocol-005-PsBABY5H all 4 +tezos-protocol-005-PsBabyM1 all 5 +tezos-protocol-006-PsCARTHA all 5 +tezos-protocol-007-PsDELPH1 all 5 +tezos-protocol-008-PtEdo2Zk all 5 +tezos-protocol-008-PtEdoTez all 5 +tezos-protocol-009-PsFLoren all 5 +tezos-protocol-010-PtGRANAD all 5 +tezos-protocol-011-PtHangz2 all 5 +tezos-protocol-012-Psithaca all 5 +tezos-protocol-013-PtJakart all 5 +tezos-protocol-014-PtKathma all 5 +tezos-protocol-015-PtLimaPt all 5 +tezos-protocol-016-PtMumbai all 5 +tezos-protocol-017-PtNairob all 5 +tezos-protocol-018-Proxford all 6 +tezos-protocol-019-PtParisA all 6 +tezos-protocol-alpha all 6 +tezos-protocol-demo-counter all 6 +tezos-protocol-demo-noops all 6 +tezos-protocol-genesis all 6 +tezos-proxy-server-config all 6 +tezt-tezos all 7 -- GitLab From 47d66c53fa175cad6f4dd78ef246a49165a5754c Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Fri, 1 Mar 2024 15:26:48 +0100 Subject: [PATCH 03/54] CI-in-OCaml: explain return value of [Tezos_ci.job_external] --- ci/bin/tezos_ci.mli | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ci/bin/tezos_ci.mli b/ci/bin/tezos_ci.mli index 3c47c00cbc85..b7c8ce8f6846 100644 --- a/ci/bin/tezos_ci.mli +++ b/ci/bin/tezos_ci.mli @@ -222,7 +222,9 @@ val job : Raises [Failure] if [.gitlab/ci/jobs/DIRECTORY] is not an existing directory. Also [Failure] if destination path has already been - used to write another job. *) + used to write another job. + + The returned job is the same as the input, for ease of chaining. *) val job_external : ?directory:string -> ?filename_suffix:string -> tezos_job -> tezos_job -- GitLab From cde17f980bfad25e0f27b073a45623a83479a0ab Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Fri, 1 Mar 2024 15:27:25 +0100 Subject: [PATCH 04/54] CI-in-OCaml: add function for writing sets of jobs to external file --- ci/bin/tezos_ci.ml | 14 ++++++++++++++ ci/bin/tezos_ci.mli | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/ci/bin/tezos_ci.ml b/ci/bin/tezos_ci.ml index 7b11ee7ffb82..ee9c3d26716f 100644 --- a/ci/bin/tezos_ci.ml +++ b/ci/bin/tezos_ci.ml @@ -430,6 +430,20 @@ let job_external ?directory ?filename_suffix (tezos_job : tezos_job) : tezos_job Gitlab_ci.To_yaml.to_file ~header ~filename config ; tezos_job) +let jobs_external ~path (tezos_jobs : tezos_job list) : tezos_job list = + let filename = sf ".gitlab/ci/jobs/%s" path in + if String_set.mem filename !external_jobs then + failwith + "[job_external] attempted to write external job file %s twice." + filename + else ( + external_jobs := String_set.add filename !external_jobs ; + let config = + List.map (fun {job; _} -> Gitlab_ci.Types.Job job) tezos_jobs + in + Gitlab_ci.To_yaml.to_file ~header ~filename config ; + tezos_jobs) + let add_artifacts ?name ?expose_as ?reports ?expire_in ?when_ paths (tezos_job : tezos_job) = map_job tezos_job @@ fun (job : Gitlab_ci.Types.job) -> diff --git a/ci/bin/tezos_ci.mli b/ci/bin/tezos_ci.mli index b7c8ce8f6846..77524bff18a1 100644 --- a/ci/bin/tezos_ci.mli +++ b/ci/bin/tezos_ci.mli @@ -228,6 +228,20 @@ val job : val job_external : ?directory:string -> ?filename_suffix:string -> tezos_job -> tezos_job +(** Generates a set of jobs to the same external file. + + This function is meant to be used in the transition to CI-in-OCaml. + It writes {!header} and the given jobs to the file + [.gitlab/ci/jobs/PATH]. + + The use case is the same as [job_external] but for cases where it + is impractical to split a set of jobs into one file per job + (e.g. opam package test jobs). + + The returned set of jobs is the same as the input, for ease of + chaining. *) +val jobs_external : path:string -> tezos_job list -> tezos_job list + (** Adds artifacts to a job without overriding, if possible, existing artifacts. - If the job already has an artifact with [old_name] and [name] is given, then -- GitLab From cef7e8243091e72e5eca26f84b8b5c04134b5853 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 10:32:42 +0100 Subject: [PATCH 05/54] CI-in-OCaml: fix docker generation targets In the previous version, the docker-{all,verbose,...} targets were noop. Fixed by a adding a prerequisite on the [docker-do] pattern rule, which is renamed to avoid clashes. The [help] recipe is updated to handle targets with prerequisites. --- ci/makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/makefile b/ci/makefile index 35b5b6b24cb8..c64c0509e691 100644 --- a/ci/makefile +++ b/ci/makefile @@ -10,8 +10,8 @@ verbose: # Regenerate GitLab CI configuration with verbose output. inline-source-info: # Regenerate GitLab CI configuration, inlining source information in generated files. (cd .. && . ./scripts/version.sh && dune exec ci/bin/main.exe -- --inline-source-info) -.PHONY: docker-% -docker-%: +.PHONY: docker-do-% +docker-do-%: @( cd .. \ && . ./scripts/version.sh \ && docker run -it -w$$(pwd) -v$$(pwd):$$(pwd) --entrypoint opam \ @@ -19,13 +19,13 @@ docker-%: make -C ci $* ) .PHONY: docker-all -docker-all: # Build the target 'all' using the 'runtime-build-dependencies' Docker image. +docker-all: docker-do-all # Build the target 'all' using the 'runtime-build-dependencies' Docker image. .PHONY: docker-verbose -docker-verbose: # Build the target 'verbose' using the 'runtime-build-dependencies' Docker image. +docker-verbose: docker-do-verbose # Build the target 'verbose' using the 'runtime-build-dependencies' Docker image. .PHONY: docker-inline-source-info -docker-inline-source-info: # Build the target 'inline-source-info' using the 'runtime-build-dependencies' Docker image. +docker-inline-source-info: docker-do-inline-inline-source-info # Build the target 'inline-source-info' using the 'runtime-build-dependencies' Docker image. .PHONY: check check: # Used in the CI to verify that [.gitlab-ci.yml] is up to date. @@ -42,4 +42,4 @@ check: # Used in the CI to verify that [.gitlab-ci.yml] is up to date. help: # Display this help. @echo "GitLab CI configuration generator. Available targets:" @echo - @grep '^[^[:space:]]\+: #' makefile | sed 's/^\([^[:space:]]\+\): # \(.*\)/ - \1: \2/' + @grep '^[^[:space:]]\+:.*#' makefile | sed 's/^\([^[:space:]]\+\):.*# \(.*\)/ - \1: \2/' -- GitLab From 312bedeedd7446d5a4306d6f8852eab29696f28f Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Fri, 1 Mar 2024 15:30:07 +0100 Subject: [PATCH 06/54] CI: generate opam package test jobs --- .gitlab/ci/jobs/packaging/opam:prepare.yml | 104 +- .gitlab/ci/jobs/packaging/opam_package.yml | 6367 +++++++++++++++++--- ci/README.md | 5 +- ci/bin/main.ml | 158 +- ci/lib_gitlab_ci/base.ml | 9 + ci/makefile | 12 +- 6 files changed, 5795 insertions(+), 860 deletions(-) diff --git a/.gitlab/ci/jobs/packaging/opam:prepare.yml b/.gitlab/ci/jobs/packaging/opam:prepare.yml index 4506eba1c20b..2711564ee7ac 100644 --- a/.gitlab/ci/jobs/packaging/opam:prepare.yml +++ b/.gitlab/ci/jobs/packaging/opam:prepare.yml @@ -1,72 +1,46 @@ -# This template is used by the opam test jobs defined in -# .gitlab/ci/jobs/packaging/opam_package.yml -.opam_template: - extends: - - .default_settings_template - - .image_template__runtime_prebuild_dependencies - # FIXME: https://gitlab.com/nomadic-labs/tezos/-/issues/663 - # FIXME: https://gitlab.com/nomadic-labs/tezos/-/issues/664 - # At the time of writing, the opam tests were quite flaky. - # Therefore, a retry was added. This should be removed once the - # underlying tests have been fixed. - - .oc.template__retry_flaky - stage: packaging - needs: [opam:prepare] - dependencies: [opam:prepare] - before_script: - - eval $(opam env) - - mkdir -p $CI_PROJECT_DIR/opam_logs - # Start sccache. If sccache fails to start, it will set - # RUSTC_WRAPPER to "", inhibiting sccache in the rest of the - # script. - - . ./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: - # Stores logs in opam_logs for artifacts and outputs an excerpt on - # failure. [after_script] runs in a separate shell and so requires - # a second opam environment initialization. - - sccache --stop-server || true - - eval $(opam env) - - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh - artifacts: - paths: - - opam_logs/ - expire_in: 1 week - when: always - variables: - # See `.gitlab-ci.yml` for details on `RUNTEZTALIAS` - RUNTEZTALIAS: "true" - # We store caches in _build for two reasons: (1) the _build - # folder is excluded from opam's rsync. (2) gitlab ci cache - # requires that cached files are in a sub-folder of the checkout. - SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache - SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log - SCCACHE_LOG: debug - # Disable timeout - SCCACHE_IDLE_TIMEOUT: 0 - RUSTC_WRAPPER: "sccache" - cache: - key: opam-sccache - paths: - - _build/_sccache +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. opam:prepare: - extends: - - .default_settings_template - - .image_template__runtime_prebuild_dependencies - - .needs__trigger - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - job: trigger + optional: true + dependencies: [] before_script: - - eval $(opam env) + - 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" + - 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-repo-for-release/ diff --git a/.gitlab/ci/jobs/packaging/opam_package.yml b/.gitlab/ci/jobs/packaging/opam_package.yml index 90041059978c..52c3a7948c12 100644 --- a/.gitlab/ci/jobs/packaging/opam_package.yml +++ b/.gitlab/ci/jobs/packaging/opam_package.yml @@ -1,1159 +1,5954 @@ # This file was automatically generated, do not edit. -# Edit file manifest/main.ml instead. - -.rules_template__trigger_exec_opam_batch_1: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 1 minute - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 1 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 1 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_1: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 1 minute - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 1 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 1 minutes - - when: never # default - -.rules_template__trigger_exec_opam_batch_2: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 2 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 2 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 2 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_2: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 2 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 2 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 2 minutes - - when: never # default - -.rules_template__trigger_exec_opam_batch_3: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 3 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 3 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 3 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_3: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 3 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 3 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 3 minutes - - when: never # default - -.rules_template__trigger_exec_opam_batch_4: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 4 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 4 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 4 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_4: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 4 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 4 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 4 minutes - - when: never # default - -.rules_template__trigger_exec_opam_batch_5: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 5 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 5 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 5 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_5: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 5 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 5 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 5 minutes - - when: never # default - -.rules_template__trigger_exec_opam_batch_6: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 6 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 6 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 6 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_6: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 6 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 6 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 6 minutes - - when: never # default - -.rules_template__trigger_exec_opam_batch_7: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 7 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 7 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 7 minutes - - when: never # default - -.rules_template__trigger_all_opam_batch_7: - rules: - # Run on scheduled builds. - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: delayed - start_in: 7 minutes - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/' - when: delayed - start_in: 7 minutes - # Run on merge requests when opam changes are detected. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot"' - changes: - - "**/dune" - - "**/dune.inc" - - "**/*.dune.inc" - - "**/dune-project" - - "**/dune-workspace" - - "**/*.opam" - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - manifest/manifest.ml - - manifest/main.ml - - scripts/opam-prepare-repo.sh - - scripts/version.sh - when: delayed - start_in: 7 minutes - - when: never # default +# Edit file ci/bin/main.ml instead. opam:bls12-381: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: bls12-381 - -# Ignoring unreleased package gitlab_ci. - -# Ignoring unreleased package internal-devtools. - -# Ignoring unreleased package internal-devtools_proto-context-du. - -# Ignoring unreleased package kaitai. - -# Ignoring unreleased package kaitai-of-data-encoding. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-accuser-Proxford: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-accuser-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-accuser-PtParisA: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-accuser-PtParisA - -# Ignoring unreleased package octez-accuser-alpha. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-alcotezt: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-alcotezt + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-baker-Proxford: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-baker-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-baker-PtParisA: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-baker-PtParisA - -# Ignoring unreleased package octez-baker-alpha. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-client: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-client + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-codec: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-codec - -# Ignoring unreleased package octez-codec-kaitai. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-crawler: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-crawler + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-dac-client: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-dac-client + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-dac-node: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-dac-node - -# Ignoring unreleased package octez-dal-node. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-distributed-internal: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-distributed-internal + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-distributed-lwt-internal: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-distributed-lwt-internal - -# Ignoring unreleased package octez-evm-node. - -# Ignoring unreleased package octez-evm-node-libs. - -# Ignoring unreleased package octez-evm-node-tests. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-injector: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-injector - -# Ignoring unreleased package octez-injector-server. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-internal-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-internal-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-l2-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-l2-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-node: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-node + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-node-config: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-node-config + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-proto-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-proto-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-000-Ps9mPmXa-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-000-Ps9mPmXa-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-001-PtCJ7pwo-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-001-PtCJ7pwo-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-002-PsYLVpVv-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-002-PsYLVpVv-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-003-PsddFKi3-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-003-PsddFKi3-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-004-Pt24m4xi-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-004-Pt24m4xi-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-005-PsBabyM1-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-005-PsBabyM1-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-006-PsCARTHA-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-006-PsCARTHA-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-007-PsDELPH1-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-007-PsDELPH1-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-008-PtEdo2Zk-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-008-PtEdo2Zk-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-009-PsFLoren-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-009-PsFLoren-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-010-PtGRANAD-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-010-PtGRANAD-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-011-PtHangz2-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-011-PtHangz2-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-012-Psithaca-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-012-Psithaca-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-013-PtJakart-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-013-PtJakart-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-014-PtKathma-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-014-PtKathma-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-015-PtLimaPt-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-015-PtLimaPt-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-016-PtMumbai-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-016-PtMumbai-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-017-PtNairob-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-017-PtNairob-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-018-Proxford-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-018-Proxford-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-019-PtParisA-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-019-PtParisA-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-alpha-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-alpha-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-protocol-compiler: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-protocol-compiler + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-proxy-server: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-proxy-server - -# Ignoring unreleased package octez-risc-v-pvm. - -# Ignoring unreleased package octez-risc-v-pvm-test. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-rpc-process: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_3 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-rpc-process + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-shell-libs: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-shell-libs - -# Ignoring unreleased package octez-shell-tests. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-signer: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-signer + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-node: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-node + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-node-Proxford: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-node-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-node-PtNairob: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-node-PtNairob + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-node-PtParisA: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-node-PtParisA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-node-alpha: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-node-alpha + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-node-lib: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-node-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-wasm-debugger: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_1 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-wasm-debugger + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-wasm-debugger-lib: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-wasm-debugger-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-smart-rollup-wasm-debugger-plugin: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-smart-rollup-wasm-debugger-plugin - -# Ignoring unreleased package octez-snoop. - -# Ignoring unreleased package octez-store-tests. - -# Ignoring unreleased package octez-testnet-scenarios. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:octez-version: - extends: - - .opam_template - - .rules_template__trigger_exec_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: octez-version - -# Ignoring unreleased package octogram. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-benchmark: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-benchmark - -# Ignoring unreleased package tezos-benchmark-018-Proxford. - -# Ignoring unreleased package tezos-benchmark-019-PtParisA. - -# Ignoring unreleased package tezos-benchmark-alpha. - -# Ignoring unreleased package tezos-benchmark-examples. - -# Ignoring unreleased package tezos-benchmark-tests. - -# Ignoring unreleased package tezos-benchmark-type-inference-018-Proxford. - -# Ignoring unreleased package tezos-benchmark-type-inference-019-PtParisA. - -# Ignoring unreleased package tezos-benchmark-type-inference-alpha. - -# Ignoring unreleased package tezos-benchmarks-proto-018-Proxford. - -# Ignoring unreleased package tezos-benchmarks-proto-019-PtParisA. - -# Ignoring unreleased package tezos-benchmarks-proto-alpha. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-client-demo-counter: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-client-demo-counter + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-client-genesis: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-client-genesis + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-dac-client-lib: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-dac-client-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-dac-lib: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-dac-lib - -# Ignoring unreleased package tezos-dac-lib-test. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-dac-node-lib: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_2 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-dac-node-lib - -# Ignoring unreleased package tezos-dac-node-lib-test. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-dal-node-lib: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-dal-node-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-dal-node-services: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-dal-node-services - -# Ignoring unreleased package tezos-injector-018-Proxford. - -# Ignoring unreleased package tezos-injector-019-PtParisA. - -# Ignoring unreleased package tezos-injector-alpha. - -# Ignoring unreleased package tezos-lazy-containers-tests. - -# Ignoring unreleased package tezos-micheline-rewriting. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-openapi: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-openapi + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-000-Ps9mPmXa: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-000-Ps9mPmXa + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-001-PtCJ7pwo: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-001-PtCJ7pwo + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-002-PsYLVpVv: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-002-PsYLVpVv + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-003-PsddFKi3: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-003-PsddFKi3 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-004-Pt24m4xi: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-004-Pt24m4xi + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-005-PsBABY5H: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_4 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-005-PsBABY5H + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-005-PsBabyM1: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-005-PsBabyM1 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-006-PsCARTHA: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-006-PsCARTHA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-007-PsDELPH1: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-007-PsDELPH1 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-008-PtEdo2Zk: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-008-PtEdo2Zk + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-008-PtEdoTez: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-008-PtEdoTez + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-009-PsFLoren: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-009-PsFLoren + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-010-PtGRANAD: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-010-PtGRANAD + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-011-PtHangz2: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-011-PtHangz2 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-012-Psithaca: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-012-Psithaca + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-013-PtJakart: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-013-PtJakart + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-014-PtKathma: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-014-PtKathma + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-015-PtLimaPt: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-015-PtLimaPt + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-016-PtMumbai: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-016-PtMumbai + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-017-PtNairob: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_5 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-017-PtNairob + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-018-Proxford: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-018-Proxford - -# Ignoring unreleased package tezos-protocol-018-Proxford-tests. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-019-PtParisA: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-019-PtParisA - -# Ignoring unreleased package tezos-protocol-019-PtParisA-tests. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-alpha: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-alpha - -# Ignoring unreleased package tezos-protocol-alpha-tests. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-demo-counter: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-demo-counter + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-demo-noops: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-demo-noops + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-protocol-genesis: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-protocol-genesis + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezos-proxy-server-config: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_6 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezos-proxy-server-config - -# Ignoring unreleased package tezos-sc-rollup-node-test. - -# Ignoring unreleased package tezos-scoru-wasm-regressions. - -# Ignoring unreleased package tezos-smart-rollup-node-lib-test. - -# Ignoring unreleased package tezos-tooling. - -# Ignoring unreleased package tezos-tps-evaluation. - -# Ignoring unreleased package tezos-tree-encoding-test. - -# Ignoring unreleased package tezt-etherlink. - -# Ignoring unreleased package tezt-risc-v-sandbox. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 opam:tezt-tezos: - extends: - - .opam_template - - .rules_template__trigger_all_opam_batch_7 + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh variables: + RUNTEZTALIAS: "true" package: tezt-tezos - -# Ignoring unreleased package tezt-tx-kernel. + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 diff --git a/ci/README.md b/ci/README.md index 11abfb4c028c..6c9f71a65702 100644 --- a/ci/README.md +++ b/ci/README.md @@ -37,7 +37,10 @@ command: This will work with all the other targets, such that `make -C ci docker-TGT` runs `make -C ci TGT` inside a Docker image with the -required prerequisites installed. +required prerequisites installed. Be aware that using the Docker +targets will write build potentially incompatible artifacts into the +host file system. Therefore, use either only the Docker targets or +only the non-Docker targets. For more information, see diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 6df8abbd3f9c..66224f8d42d2 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -35,7 +35,7 @@ module Stages = struct let test_coverage = Stage.register "test_coverage" - let _packaging = Stage.register "packaging" + let packaging = Stage.register "packaging" let doc = Stage.register "doc" @@ -138,7 +138,7 @@ module Images = struct ~image_path: "${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version}" - let _runtime_prebuild_dependencies = + let runtime_prebuild_dependencies = Image.register ~name:"runtime_prebuild_dependencies" ~image_path: @@ -229,6 +229,15 @@ let enable_coverage_location : tezos_job -> tezos_job = Tezos_ci.append_variables [("BISECT_FILE", "$CI_PROJECT_DIR/_coverage_output/")] +(** Add variable enabling sccache. + + This function should be applied to jobs that build rust files and + which has a configured sccache Gitlab CI cache. *) +let enable_sccache ?(sccache_dir = "$CI_PROJECT_DIR/_sccache") : + tezos_job -> tezos_job = + Tezos_ci.append_variables + [("SCCACHE_DIR", sccache_dir); ("RUSTC_WRAPPER", "sccache")] + let changeset_octez = [ "src/**/*"; @@ -953,6 +962,151 @@ let enable_coverage_report job : tezos_job = ["_coverage_report/"; "$BISECT_FILE"] |> Tezos_ci.append_variables [("SLACK_COVERAGE_CHANNEL", "C02PHBE7W73")] +(* The set of [changes:] that trigger opam jobs *) +let changeset_opam_jobs = + [ + "**/dune"; + "**/dune.inc"; + "**/*.dune.inc"; + "**/dune-project"; + "**/dune-workspace"; + "**/*.opam"; + ".gitlab/ci/jobs/packaging/opam:prepare.yml"; + ".gitlab/ci/jobs/packaging/opam_package.yml"; + "manifest/manifest.ml"; + "manifest/main.ml"; + "scripts/opam-prepare-repo.sh"; + "scripts/version.sh"; + ] + +type opam_package_group = Executable | All + +type opam_package = { + name : string; + group : opam_package_group; + batch_index : int; +} + +let opam_rules ~only_marge_bot ?batch_index () = + let when_ = + match batch_index with + | Some batch_index -> Delayed (Minutes batch_index) + | None -> On_success + in + [ + job_rule ~if_:Rules.schedule_extended_tests ~when_ (); + job_rule ~if_:(Rules.has_mr_label "ci--opam") ~when_ (); + job_rule + ~if_: + (if only_marge_bot then + If.(Rules.merge_request && Rules.triggered_by_marge_bot) + else Rules.merge_request) + ~changes:changeset_opam_jobs + ~when_ + (); + job_rule ~when_:Never (); + ] + +let job_opam_prepare : tezos_job = + job + ~__POS__ + ~name:"opam:prepare" + ~image:Images.runtime_prebuild_dependencies + ~stage:Stages.packaging + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script:(before_script ~eval_opam:true []) + ~artifacts:(artifacts ["_opam-repo-for-release/"]) + ~rules:(opam_rules ~only_marge_bot:false ~batch_index:1 ()) + [ + "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\""; + ] + |> job_external + +let job_opam_package {name; group; batch_index} : tezos_job = + job + ~__POS__ + ~name:("opam:" ^ name) + ~image:Images.runtime_prebuild_dependencies + ~stage:Stages.packaging + (* FIXME: https://gitlab.com/nomadic-labs/tezos/-/issues/663 + FIXME: https://gitlab.com/nomadic-labs/tezos/-/issues/664 + At the time of writing, the opam tests were quite flaky. + Therefore, a retry was added. This should be removed once the + underlying tests have been fixed. *) + ~retry:2 + ~dependencies:(Dependent [Artifacts job_opam_prepare]) + ~rules:(opam_rules ~only_marge_bot:(group = All) ~batch_index ()) + ~variables: + [ + (* See [.gitlab-ci.yml] for details on [RUNTEZTALIAS] *) + ("RUNTEZTALIAS", "true"); + ("package", name); + ("SCCACHE_ERROR_LOG", "$CI_PROJECT_DIR/opam_logs/sccache.log"); + ("SCCACHE_IDLE_TIMEOUT", "0"); + ("SCCACHE_LOG", "debug"); + ] + ~before_script: + (before_script + ~eval_opam:true + [ + "mkdir -p $CI_PROJECT_DIR/opam_logs"; + ". ./scripts/ci/sccache-start.sh"; + ]) + [ + "opam remote add dev-repo ./_opam-repo-for-release"; + "opam install --yes ${package}.dev"; + "opam reinstall --yes --with-test ${package}.dev"; + ] + (* Stores logs in opam_logs for artifacts and outputs an excerpt on + failure. [after_script] runs in a separate shell and so requires + a second opam environment initialization. *) + ~after_script: + [ + "sccache --stop-server || true"; + "eval $(opam env)"; + "OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh"; + ] + ~artifacts:(artifacts ~expire_in:(Weeks 1) ~when_:Always ["opam_logs/"]) + ~cache:[{key = "opam-sccache"; paths = ["_build/_sccache"]}] + |> (* We store caches in [_build] for two reasons: (1) the [_build] + folder is excluded from opam's rsync. (2) gitlab ci cache + requires that cached files are in a sub-folder of the checkout. *) + enable_sccache ~sccache_dir:"$CI_PROJECT_DIR/_build/_sccache" + +let ci_opam_package_tests = "script-inputs/ci-opam-package-tests" + +let read_opam_packages = + Fun.flip List.filter_map (read_lines_from_file ci_opam_package_tests) + @@ fun line -> + let fail () = + failwith + (sf "failed to parse %S: invalid line: %S" ci_opam_package_tests line) + in + if line = "" then None + else + match String.split_on_char '\t' line with + | [name; group; batch_index] -> + let batch_index = + match int_of_string_opt batch_index with + | Some i -> i + | None -> fail () + in + let group = + match group with "exec" -> Executable | "all" -> All | _ -> fail () + in + Some {name; group; batch_index} + | _ -> fail () + +let make_opam_packages (packages : opam_package list) : tezos_job list = + let jobs = List.map job_opam_package packages in + jobs_external ~path:"packaging/opam_package.yml" jobs + +let (_jobs_opam_package : tezos_job list) = + make_opam_packages read_opam_packages + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined diff --git a/ci/lib_gitlab_ci/base.ml b/ci/lib_gitlab_ci/base.ml index c0d2055584d8..29ebaa625d30 100644 --- a/ci/lib_gitlab_ci/base.ml +++ b/ci/lib_gitlab_ci/base.ml @@ -33,6 +33,15 @@ let with_open_in file read_f = close_in chan ; raise x +let read_lines_from_file path = + with_open_in path @@ fun ch -> + let rec loop acc = + match input_line ch with + | exception End_of_file -> List.rev acc + | line -> loop (line :: acc) + in + loop [] + let write_file filename ~contents = with_open_out filename @@ fun ch -> output_string ch contents diff --git a/ci/makefile b/ci/makefile index c64c0509e691..c2c74ac7ec03 100644 --- a/ci/makefile +++ b/ci/makefile @@ -1,22 +1,22 @@ .PHONY: all -all: # Regenerate GitLab CI configuration. - (cd .. && . ./scripts/version.sh && dune exec ci/bin/main.exe) +all: # Regenerate GitLab CI configuration. + (cd .. && ${MAKE} -C manifest && . ./scripts/version.sh && dune exec ci/bin/main.exe) .PHONY: verbose verbose: # Regenerate GitLab CI configuration with verbose output. - (cd .. && . ./scripts/version.sh && dune exec ci/bin/main.exe -- --verbose) + (cd .. && ${MAKE} -C manifest && . ./scripts/version.sh && dune exec ci/bin/main.exe -- --verbose) .PHONY: inline-source-info inline-source-info: # Regenerate GitLab CI configuration, inlining source information in generated files. - (cd .. && . ./scripts/version.sh && dune exec ci/bin/main.exe -- --inline-source-info) + (cd .. && ${MAKE} -C manifest && . ./scripts/version.sh && dune exec ci/bin/main.exe -- --inline-source-info) .PHONY: docker-do-% docker-do-%: @( cd .. \ && . ./scripts/version.sh \ - && docker run -it -w$$(pwd) -v$$(pwd):$$(pwd) --entrypoint opam \ + && docker run -it -w$$(pwd) -v$$(pwd):$$(pwd) --tmpfs --entrypoint opam \ registry.gitlab.com/tezos/opam-repository:runtime-build-dependencies--$${opam_repository_tag} exec -- \ - make -C ci $* ) + make --always-make -C ci $* ) # --always-make to not mix build artifacts from host and guest system. .PHONY: docker-all docker-all: docker-do-all # Build the target 'all' using the 'runtime-build-dependencies' Docker image. -- GitLab From b4bfd408665d862fbc6fb132ab13efdc10703b98 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Fri, 12 Jan 2024 10:59:47 +0100 Subject: [PATCH 07/54] CI: generate [oc.build_kernels.yml] --- .gitlab/ci/jobs/build/oc.build_kernels.yml | 80 ++++++++++++++-------- ci/bin/main.ml | 54 ++++++++++++++- 2 files changed, 104 insertions(+), 30 deletions(-) diff --git a/.gitlab/ci/jobs/build/oc.build_kernels.yml b/.gitlab/ci/jobs/build/oc.build_kernels.yml index 687d32466830..dff3c60287ea 100644 --- a/.gitlab/ci/jobs/build/oc.build_kernels.yml +++ b/.gitlab/ci/jobs/build/oc.build_kernels.yml @@ -1,36 +1,58 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.build_kernels: - extends: - - .tags_template__build - - .oc.kernels_template + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} stage: build + tags: + - gcp + rules: + - changes: + - images/**/* + - scripts/ci/**/* + - kernels.mk + - etherlink.mk + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + - key: kernels + paths: + - cargo/ + - key: kernels-sccache + paths: + - _sccache + script: + - make -f kernels.mk build + - make -f etherlink.mk evm_kernel.wasm + - make -C src/risc_v risc-v-sandbox risc-v-dummy.elf + - make -C src/risc_v/tests/ build variables: - # We store caches in _build because GitLab CI Cache requires that - # cached files are in a sub-folder of the checkout. + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl SCCACHE_DIR: $CI_PROJECT_DIR/_sccache - RUSTC_WRAPPER: "sccache" - script: - - make -f kernels.mk build - - make -f etherlink.mk evm_kernel.wasm - - make -C src/risc_v risc-v-sandbox risc-v-dummy.elf - - make -C src/risc_v/tests/ build + RUSTC_WRAPPER: sccache artifacts: - name: "build-kernels-$CI_COMMIT_REF_SLUG" - paths: - - evm_kernel.wasm - - smart-rollup-installer - - sequenced_kernel.wasm - - tx_kernel.wasm - - tx_kernel_dal.wasm - - dal_echo_kernel.wasm - - src/risc_v/risc-v-sandbox - - src/risc_v/risc-v-dummy.elf - - src/risc_v/tests/inline_asm/rv64-inline-asm-tests + 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 + - src/risc_v/risc-v-sandbox + - src/risc_v/risc-v-dummy.elf + - src/risc_v/tests/inline_asm/rv64-inline-asm-tests when: on_success - cache: - - key: kernels - paths: - - cargo/ - - key: kernels-sccache - paths: - - _sccache diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 66224f8d42d2..f5547ff1ee2f 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -447,7 +447,7 @@ let _job_docker_rust_toolchain_before_merging = () |> job_external ~filename_suffix:"before_merging" -let _job_docker_rust_toolchain_other = +let job_docker_rust_toolchain_other = job_docker_rust_toolchain ~__POS__ () |> job_external ~filename_suffix:"other" (** Type of Docker build jobs. @@ -1107,6 +1107,58 @@ let make_opam_packages (packages : opam_package list) : tezos_job list = let (_jobs_opam_package : tezos_job list) = make_opam_packages read_opam_packages +let enable_kernels = + Tezos_ci.append_variables + [ + ("CC", "clang"); + ("CARGO_HOME", "$CI_PROJECT_DIR/cargo"); + ("NATIVE_TARGET", "x86_64-unknown-linux-musl"); + ] + +(* Used in [before_merging] and [schedule_extended_tests] pipeline *) +let _job_build_kernels : tezos_job = + job + ~__POS__ + ~name:"oc.build_kernels" + ~image:Images.rust_toolchain + ~stage:Stages.build + ~dependencies: + (Dependent + [ + (* TODO: depends on the pipeline in question, must be + modified when generated for pipeline. *) + Artifacts job_docker_rust_toolchain_other; + ]) + ~rules:[job_rule ~changes:changeset_octez_or_kernels ()] + [ + "make -f kernels.mk build"; + "make -f etherlink.mk evm_kernel.wasm"; + "make -C src/risc_v risc-v-sandbox risc-v-dummy.elf"; + "make -C src/risc_v/tests/ build"; + ] + ~artifacts: + (artifacts + ~name:"build-kernels-$CI_COMMIT_REF_SLUG" + ~expire_in:(Days 1) + ~when_:On_success + [ + "evm_kernel.wasm"; + "smart-rollup-installer"; + "sequenced_kernel.wasm"; + "tx_kernel.wasm"; + "tx_kernel_dal.wasm"; + "dal_echo_kernel.wasm"; + "src/risc_v/risc-v-sandbox"; + "src/risc_v/risc-v-dummy.elf"; + "src/risc_v/tests/inline_asm/rv64-inline-asm-tests"; + ]) + ~cache: + [ + {key = "kernels"; paths = ["cargo/"]}; + {key = "kernels-sccache"; paths = ["_sccache"]}; + ] + |> enable_kernels |> enable_sccache |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From aa8800b2165a4e019955490f50ea1339503f7f6f Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Tue, 16 Jan 2024 13:21:19 +0100 Subject: [PATCH 08/54] CI: generate [oc.fetch-records.yml] --- .../ci/jobs/build/oc.tezt:fetch-records.yml | 52 ++++++++++--------- ci/bin/main.ml | 39 ++++++++++++++ 2 files changed, 67 insertions(+), 24 deletions(-) diff --git a/.gitlab/ci/jobs/build/oc.tezt:fetch-records.yml b/.gitlab/ci/jobs/build/oc.tezt:fetch-records.yml index b7f24191aeee..9dd2ae10b646 100644 --- a/.gitlab/ci/jobs/build/oc.tezt:fetch-records.yml +++ b/.gitlab/ci/jobs/build/oc.tezt:fetch-records.yml @@ -1,32 +1,36 @@ -# Fetch records for Tezt generated on the last merge request pipeline -# on the most recently merged MR and makes them available in artifacts -# for future merge request pipelines. +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.tezt:fetch-records: - extends: - - .default_settings_template - - .image_template__runtime_build_dependencies - - .rules__octez_changes - - .tags_template__build + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + dependencies: [] + allow_failure: true before_script: - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) + - ./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 + - 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 - # Allow failure of this job, since Tezt can use the records stored - # in the repo as backup for balancing. - allow_failure: true + - ./scripts/ci/filter_corrupted_records.sh artifacts: + expire_in: 4 hours paths: - - tezt-fetch-records.log - - tezt/records/*.json - # Keep broken records for debugging - - tezt/records/*.json.broken - # Always store artifacts to have the logs for debugging + - tezt-fetch-records.log + - tezt/records/*.json + - tezt/records/*.json.broken when: always - # These artifacts are only used within this pipeline, so they - # don't need a long expiration time. - expire_in: 4 hours diff --git a/ci/bin/main.ml b/ci/bin/main.ml index f5547ff1ee2f..9959460cfc78 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1159,6 +1159,45 @@ let _job_build_kernels : tezos_job = ] |> enable_kernels |> enable_sccache |> job_external +(* Used on [before_merging] and [schedule_extended_tests]. + + Fetch records for Tezt generated on the last merge request pipeline + on the most recently merged MR and makes them available in artifacts + for future merge request pipelines. *) +let _job_tezt_fetch_records : tezos_job = + job + ~__POS__ + ~name:"oc.tezt:fetch-records" + ~image:Images.runtime_build_dependencies + ~stage:Stages.build + ~before_script: + (before_script + ~take_ownership:true + ~source_version:true + ~eval_opam:true + []) + ~rules:[job_rule ~changes:changeset_octez ()] + [ + "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"] + (* Allow failure of this job, since Tezt can use the records + stored in the repo as backup for balancing. *) + ~allow_failure:Yes + ~artifacts: + (artifacts + ~expire_in:(Hours 4) + ~when_:Always + [ + "tezt-fetch-records.log"; + "tezt/records/*.json"; + (* Keep broken records for debugging *) + "tezt/records/*.json.broken"; + ]) + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 2999efd347a8becaeba26d2c5094aeb574780fee Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Mon, 4 Mar 2024 13:33:51 +0100 Subject: [PATCH 09/54] CI: refactor, consistent rules for schedule To check whether we're in the schedule exteded tests pipeline we should always check _both_ [CI_PIPELINE_SOURCE] and [TZ_SCHEDULE_KIND]. --- .gitlab/ci/jobs/test/install_octez.yml | 2 +- .gitlab/ci/jobs/test/oc.unit.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab/ci/jobs/test/install_octez.yml b/.gitlab/ci/jobs/test/install_octez.yml index 3a23fe1541fb..b9564a242e27 100644 --- a/.gitlab/ci/jobs/test/install_octez.yml +++ b/.gitlab/ci/jobs/test/install_octez.yml @@ -88,7 +88,7 @@ oc.install_bin_rc_fedora_37: script: - ./docs/introduction/install-opam.sh rules: - - if: $CI_PIPELINE_SOURCE == "schedule" + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" when: always allow_failure: true # temporarily disable until these jobs are optimized diff --git a/.gitlab/ci/jobs/test/oc.unit.yml b/.gitlab/ci/jobs/test/oc.unit.yml index cd3a5fd4a48c..dc989dee5b94 100644 --- a/.gitlab/ci/jobs/test/oc.unit.yml +++ b/.gitlab/ci/jobs/test/oc.unit.yml @@ -58,7 +58,7 @@ # [when: manual] since if the build jobs were manual and # triggered, then there is no point in having the user do another # manual action to also run the tests. - - if: $CI_PIPELINE_SOURCE == "schedule" + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" when: always - changes: - src/**/* -- GitLab From 0824e182acdb2d417b20239547916a43c842c3a6 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Mon, 4 Mar 2024 13:46:57 +0100 Subject: [PATCH 10/54] CI: generate installation test jobs of [install_octez.yml] --- .gitlab/ci/jobs/shared/images.yml | 12 ++ .gitlab/ci/jobs/test/install_octez.yml | 281 +++++++++++++++++-------- ci/bin/main.ml | 168 ++++++++++++++- 3 files changed, 371 insertions(+), 90 deletions(-) diff --git a/.gitlab/ci/jobs/shared/images.yml b/.gitlab/ci/jobs/shared/images.yml index bbde7b2256da..f66311b4b845 100644 --- a/.gitlab/ci/jobs/shared/images.yml +++ b/.gitlab/ci/jobs/shared/images.yml @@ -11,8 +11,16 @@ image: debian:bookworm .image_template__docker: image: ${CI_REGISTRY}/tezos/docker-images/ci-docker:v1.9.0 +.image_template__fedora_37: + image: fedora:37 .image_template__fedora_39: image: fedora:39 +.image_template__opam_debian_bullseye: + image: ocaml/opam:debian-11 +.image_template__opam_ubuntu_focal: + image: ocaml/opam:ubuntu-20.04 +.image_template__opam_ubuntu_mantic: + image: ocaml/opam:ubuntu-23.10 .image_template__runtime_build_dependencies: image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} .image_template__runtime_build_test_dependencies: @@ -23,3 +31,7 @@ image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} .image_template__rust_toolchain: image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} +.image_template__ubuntu_focal: + image: public.ecr.aws/lts/ubuntu:20.04_stable +.image_template__ubuntu_jammy: + image: public.ecr.aws/lts/ubuntu:22.04_stable diff --git a/.gitlab/ci/jobs/test/install_octez.yml b/.gitlab/ci/jobs/test/install_octez.yml index b9564a242e27..3513e536ee06 100644 --- a/.gitlab/ci/jobs/test/install_octez.yml +++ b/.gitlab/ci/jobs/test/install_octez.yml @@ -1,123 +1,226 @@ -.oc.base-test-install-scripts-template: +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + +oc.install_bin_fedora_37: + image: fedora:37 stage: test - extends: - - .needs__trigger + tags: + - gcp rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: always - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - docs/introduction/install*.sh - - docs/introduction/compile*.sh - when: on_success - # Run when there is label on the merge request - - when: manual - allow_failure: true + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/install-bin-fedora.sh -.oc.install_bin_ubuntu_template: - extends: - - .default_settings_template - - .oc.base-test-install-scripts-template +oc.install_bin_rc_fedora_37: + image: fedora:37 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] script: - - ./docs/introduction/install-bin-ubuntu.sh - # These jobs currently fail because the last rc packages can't be installed anymore. - # See https://gitlab.com/tezos/tezos/-/issues/6902. - # TODO: https://gitlab.com/tezos/tezos/-/issues/6915 - # This should be removed after the next release candidate. - allow_failure: true + - ./docs/introduction/install-bin-fedora.sh rc oc.install_bin_ubuntu_focal: image: public.ecr.aws/lts/ubuntu:20.04_stable - extends: .oc.install_bin_ubuntu_template + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh oc.install_bin_ubuntu_jammy: image: public.ecr.aws/lts/ubuntu:22.04_stable - extends: .oc.install_bin_ubuntu_template - -.oc.install_bin_rc_ubuntu_template: - extends: - - .default_settings_template - - .oc.base-test-install-scripts-template - script: - - ./docs/introduction/install-bin-ubuntu.sh rc - # These jobs currently fail because the last rc packages can't be installed anymore. - # See https://gitlab.com/tezos/tezos/-/issues/6902. - # TODO: https://gitlab.com/tezos/tezos/-/issues/6915 - # This should be removed after the next release candidate. + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh oc.install_bin_rc_ubuntu_focal: image: public.ecr.aws/lts/ubuntu:20.04_stable - extends: .oc.install_bin_rc_ubuntu_template + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh rc oc.install_bin_rc_ubuntu_jammy: image: public.ecr.aws/lts/ubuntu:22.04_stable - extends: .oc.install_bin_rc_ubuntu_template - -.oc.install_bin_fedora_template: - extends: - - .default_settings_template - - .oc.base-test-install-scripts-template + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true script: - - ./docs/introduction/install-bin-fedora.sh - -oc.install_bin_fedora_37: - image: fedora:37 - extends: .oc.install_bin_fedora_template + - ./docs/introduction/install-bin-ubuntu.sh rc -.oc.install_bin_rc_fedora_template: - extends: - - .default_settings_template - - .oc.base-test-install-scripts-template +oc.install_opam_focal: + image: ocaml/opam:ubuntu-20.04 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + allow_failure: true + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] script: - - ./docs/introduction/install-bin-fedora.sh rc - -oc.install_bin_rc_fedora_37: - image: fedora:37 - extends: .oc.install_bin_rc_fedora_template - -.oc.install_opam_ubuntu_template: - extends: - - .default_settings_template - - .oc.base-test-install-scripts-template + - ./docs/introduction/install-opam.sh variables: - # The default behavior of opam is to use `nproc` to determine its level of - # parallelism. This returns the number of CPU of the "host" CI runner - # instead of the number of cores a single CI job can reasonably use. OPAMJOBS: "4" - script: - - ./docs/introduction/install-opam.sh - rules: - - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" - when: always - allow_failure: true - # temporarily disable until these jobs are optimized - - when: manual - allow_failure: true - -oc.install_opam_focal: - image: ocaml/opam:ubuntu-20.04 - extends: .oc.install_opam_ubuntu_template - -.oc.compile_sources_template: - extends: - - .default_settings_template - - .oc.base-test-install-scripts-template oc.compile_release_sources_bullseye: image: ocaml/opam:debian-11 - extends: .oc.compile_sources_template + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] script: - - ./docs/introduction/compile-sources.sh tezos/tezos latest-release + - ./docs/introduction/compile-sources.sh tezos/tezos latest-release oc.compile_sources_bullseye: image: ocaml/opam:debian-11 - extends: .oc.compile_sources_template + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] script: - - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} oc.compile_sources_mantic: image: ocaml/opam:ubuntu-23.10 - extends: .oc.compile_sources_template + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] script: - - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 9959460cfc78..0ff615518f8f 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -31,7 +31,7 @@ module Stages = struct let build = Stage.register "build" - let _test = Stage.register "test" + let test = Stage.register "test" let test_coverage = Stage.register "test_coverage" @@ -183,12 +183,39 @@ module Images = struct let debian_bookworm = Image.register ~name:"debian_bookworm" ~image_path:"debian:bookworm" + let ubuntu_focal = + Image.register + ~name:"ubuntu_focal" + ~image_path:"public.ecr.aws/lts/ubuntu:20.04_stable" + + let ubuntu_jammy = + Image.register + ~name:"ubuntu_jammy" + ~image_path:"public.ecr.aws/lts/ubuntu:22.04_stable" + + let fedora_37 = Image.register ~name:"fedora_37" ~image_path:"fedora:37" + let fedora_39 = Image.register ~name:"fedora_39" ~image_path:"fedora:39" let ci_release = Image.register ~name:"ci_release" ~image_path:"${CI_REGISTRY}/tezos/docker-images/ci-release:v1.1.0" + + let opam_ubuntu_focal = + Image.register + ~name:"opam_ubuntu_focal" + ~image_path:"ocaml/opam:ubuntu-20.04" + + let opam_ubuntu_mantic = + Image.register + ~name:"opam_ubuntu_mantic" + ~image_path:"ocaml/opam:ubuntu-23.10" + + let opam_debian_bullseye = + Image.register + ~name:"opam_debian_bullseye" + ~image_path:"ocaml/opam:debian-11" end let before_script ?(take_ownership = false) ?(source_version = false) @@ -1159,6 +1186,145 @@ let _job_build_kernels : tezos_job = ] |> enable_kernels |> enable_sccache |> job_external +type install_octez_distribution = Ubuntu_focal | Ubuntu_jammy | Fedora_37 + +let image_of_distribution = function + | Ubuntu_focal -> Images.ubuntu_focal + | Ubuntu_jammy -> Images.ubuntu_jammy + | Fedora_37 -> Images.fedora_37 + +(** The set of installation test jobs *) +let _jobs_install_octez : tezos_job list = + let changeset_install_jobs = + ["docs/introduction/install*.sh"; "docs/introduction/compile*.sh"] + in + let install_octez_rules = + [ + job_rule ~if_:Rules.schedule_extended_tests ~when_:Always (); + job_rule + ~if_:Rules.merge_request + ~changes:changeset_install_jobs + ~when_:On_success + (); + job_rule ~when_:Manual ~allow_failure:Yes (); + ] + in + let dependencies = Dependent [Optional job_trigger] in + let job_install_bin ~__POS__ ~name ?allow_failure ?(rc = false) distribution = + let distribution_string = + match distribution with + | Ubuntu_focal | Ubuntu_jammy -> "ubuntu" + | Fedora_37 -> "fedora" + in + let script = + sf "./docs/introduction/install-bin-%s.sh" distribution_string + ^ if rc then " rc" else "" + in + job + ?allow_failure + ~__POS__ + ~name + ~image:(image_of_distribution distribution) + ~dependencies + ~rules:install_octez_rules + ~stage:Stages.test + [script] + in + let job_install_opam_focal ~__POS__ ~name ~image = + job + ~__POS__ + ~name + ~image + ~dependencies + ~rules: + [ + job_rule + ~if_:Rules.schedule_extended_tests + ~when_:Always + ~allow_failure:Yes + (); + (* temporarily disable until these jobs are optimized *) + job_rule ~when_:Manual ~allow_failure:Yes (); + ] + ~stage:Stages.test + (* The default behavior of opam is to use `nproc` to determine its level of + parallelism. This returns the number of CPU of the "host" CI runner + instead of the number of cores a single CI job can reasonably use. *) + ~variables:[("OPAMJOBS", "4")] + ["./docs/introduction/install-opam.sh"] + in + let job_compile_sources ~__POS__ ~name ~image ~project ~branch = + job + ~__POS__ + ~name + ~image + ~dependencies + ~rules:install_octez_rules + ~stage:Stages.test + [sf "./docs/introduction/compile-sources.sh %s %s" project branch] + in + [ + (* Test installing binary / binary RC distributions in all distributions *) + job_install_bin ~__POS__ ~name:"oc.install_bin_fedora_37" Fedora_37; + job_install_bin + ~__POS__ + ~name:"oc.install_bin_rc_fedora_37" + ~rc:true + Fedora_37; + (* The Ubuntu jobs currently fail because the last rc packages can't be installed anymore. + See https://gitlab.com/tezos/tezos/-/issues/6902. + TODO: https://gitlab.com/tezos/tezos/-/issues/6915 + This should be removed after the next release candidate. *) + job_install_bin + ~__POS__ + ~name:"oc.install_bin_ubuntu_focal" + ~allow_failure:Yes + Ubuntu_focal; + job_install_bin + ~__POS__ + ~name:"oc.install_bin_ubuntu_jammy" + ~allow_failure:Yes + Ubuntu_jammy; + job_install_bin + ~__POS__ + ~name:"oc.install_bin_rc_ubuntu_focal" + ~allow_failure:Yes + ~rc:true + Ubuntu_focal; + job_install_bin + ~__POS__ + ~name:"oc.install_bin_rc_ubuntu_jammy" + ~allow_failure:Yes + ~rc:true + Ubuntu_jammy; + (* Test installing through opam *) + job_install_opam_focal + ~__POS__ + ~name:"oc.install_opam_focal" + ~image:Images.opam_ubuntu_focal; + (* Test compiling the [latest-release] branch on Bullseye *) + job_compile_sources + ~__POS__ + ~name:"oc.compile_release_sources_bullseye" + ~image:Images.opam_debian_bullseye + ~project:"tezos/tezos" + ~branch:"latest-release"; + (* Test compiling the [master] branch on Bullseye *) + job_compile_sources + ~__POS__ + ~name:"oc.compile_sources_bullseye" + ~image:Images.opam_debian_bullseye + ~project:"${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos}" + ~branch:"${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master}"; + job_compile_sources + ~__POS__ + ~name:"oc.compile_sources_mantic" + ~image:Images.opam_ubuntu_mantic + ~project:"${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos}" + ~branch:"${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master}"; + ] + |> jobs_external ~path:"test/install_octez.yml" + (* Used on [before_merging] and [schedule_extended_tests]. Fetch records for Tezt generated on the last merge request pipeline -- GitLab From c664d6705d04f627994a403e8dd034ed96d5938c Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 24 Jan 2024 13:43:30 +0100 Subject: [PATCH 11/54] CI: generate [oc.build_x86_64] jobs --- .../build/oc.build_x86_64-exp-dev-extra.yml | 54 ++++++++++++++----- .../jobs/build/oc.build_x86_64-released.yml | 48 +++++++++++++---- ci/bin/main.ml | 22 ++++++++ 3 files changed, 102 insertions(+), 22 deletions(-) diff --git a/.gitlab/ci/jobs/build/oc.build_x86_64-exp-dev-extra.yml b/.gitlab/ci/jobs/build/oc.build_x86_64-exp-dev-extra.yml index f34ee3947260..6d416deebae4 100644 --- a/.gitlab/ci/jobs/build/oc.build_x86_64-exp-dev-extra.yml +++ b/.gitlab/ci/jobs/build/oc.build_x86_64-exp-dev-extra.yml @@ -1,16 +1,44 @@ -include: .gitlab/ci/jobs/build/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. -# 'oc.build_x86_64-exp-dev-extra' builds the developer and experimental -# executables, as well as the tezt test suite used by the subsequent -# 'tezt' jobs and TPS evaluation tool. oc.build_x86_64-exp-dev-extra: - extends: - - .tags_template__build - - .oc.build_x86_64 - - .rules__octez_changes + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/build_full_unreleased.sh variables: - EXECUTABLE_FILES: "script-inputs/experimental-executables script-inputs/dev-executables" - # BUILD_EXTRA contains dune targets that should be built in addition to EXECUTABLE_FILES above. - # Typically, it will contain test runners (like tezt and octogram) and binaries to test that are - # not part of any 'script-inputs/*-executables', such as `Unreleased` binaries. - 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" + 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 + COVERAGE_OPTIONS: --instrument-with bisect_ppx + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - 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 + when: on_success diff --git a/.gitlab/ci/jobs/build/oc.build_x86_64-released.yml b/.gitlab/ci/jobs/build/oc.build_x86_64-released.yml index 5eb18ee657c9..c4cbfb5ec6a8 100644 --- a/.gitlab/ci/jobs/build/oc.build_x86_64-released.yml +++ b/.gitlab/ci/jobs/build/oc.build_x86_64-released.yml @@ -1,12 +1,42 @@ -include: .gitlab/ci/jobs/build/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. -# The build_x86_64 jobs are split in two to keep the artifact size -# under the 1GB hard limit set by GitLab. -# 'oc.build_x86_64-released' builds the released executables. oc.build_x86_64-released: - extends: - - .tags_template__build - - .oc.build_x86_64 - - .rules__octez_changes + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/build_full_unreleased.sh variables: - EXECUTABLE_FILES: "script-inputs/released-executables" + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/released-executables + COVERAGE_OPTIONS: --instrument-with bisect_ppx + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - 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 + when: on_success diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 0ff615518f8f..28e9786f70af 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -972,6 +972,28 @@ let job_build_arm64_exp_dev_extra : tezos_job = () |> job_external +(* Used in [before_merging] and [schedule_extended_test] pipelines *) +let _job_build_x86_64_release = + job_build_dynamic_binaries + ~__POS__ + ~arch:Amd64 + ~needs_trigger:true + ~release:true + ~rules:[job_rule ~changes:changeset_octez ()] + () + |> job_external + +(* Used in [before_merging] and [schedule_extended_test] pipelines *) +let _job_build_x86_64_exp_dev_extra = + job_build_dynamic_binaries + ~__POS__ + ~arch:Amd64 + ~needs_trigger:true + ~release:false + ~rules:[job_rule ~changes:changeset_octez ()] + () + |> job_external + let enable_coverage_report job : tezos_job = job |> Tezos_ci.add_artifacts -- GitLab From 478bb559213ddfb15404c3837a7b2f16e3a2f561 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Mon, 4 Mar 2024 14:44:54 +0100 Subject: [PATCH 12/54] CI: generate job [select_tezts] --- .gitlab/ci/jobs/build/select_tezts.yml | 29 +++++++++++++------------- ci/bin/main.ml | 21 +++++++++++++++++++ 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/.gitlab/ci/jobs/build/select_tezts.yml b/.gitlab/ci/jobs/build/select_tezts.yml index 23a2f139fe66..70fe7c9fe104 100644 --- a/.gitlab/ci/jobs/build/select_tezts.yml +++ b/.gitlab/ci/jobs/build/select_tezts.yml @@ -1,20 +1,21 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + select_tezts: - extends: - - .default_settings_template - # We need: - # - Git (to run git diff) - # - ocamlyacc, ocamllex and ocamlc (to build manifest/manifest) - - .image_template__runtime_prebuild_dependencies + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} stage: build - before_script: - - ./scripts/ci/take_ownership.sh - - eval $(opam env) - script: - - scripts/ci/select_tezts.sh || exit $? + tags: + - gcp + dependencies: [] allow_failure: exit_codes: 17 + before_script: + - ./scripts/ci/take_ownership.sh + - eval $(opam env) + script: + - scripts/ci/select_tezts.sh || exit $? artifacts: - when: always - paths: - - selected_tezts.tsl expire_in: 3 days + paths: + - selected_tezts.tsl + when: always diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 28e9786f70af..60bb53dbb92e 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1386,6 +1386,27 @@ let _job_tezt_fetch_records : tezos_job = ]) |> job_external +(* Used in [before_merging] and [schedule_extended_tests]. + + Fetch records for Tezt generated on the last merge request pipeline + on the most recently merged MR and makes them available in artifacts + for future merge request pipelines. *) +let _job_select_tezts : tezos_job = + job + ~__POS__ + ~name:"select_tezts" + (* We need: + - Git (to run git diff) + - ocamlyacc, ocamllex and ocamlc (to build manifest/manifest) *) + ~image:Images.runtime_prebuild_dependencies + ~stage:Stages.build + ~before_script:(before_script ~take_ownership:true ~eval_opam:true []) + ["scripts/ci/select_tezts.sh || exit $?"] + ~allow_failure:(With_exit_codes [17]) + ~artifacts: + (artifacts ~expire_in:(Days 3) ~when_:Always ["selected_tezts.tsl"]) + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From c71f309114e1923c0b2a706255200cce95d95fbc Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Mon, 4 Mar 2024 14:48:32 +0100 Subject: [PATCH 13/54] CI: generate job [tezt-flaky] --- .../jobs/test/tezt-flaky-before_merging.yml | 69 +++++- .../tezt-flaky-schedule_extended_test.yml | 67 +++++- .gitlab/ci/jobs/test/tezt-flaky.yml | 64 ++++-- ci/bin/main.ml | 199 +++++++++++++++++- 4 files changed, 371 insertions(+), 28 deletions(-) diff --git a/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml b/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml index 9a48f9e67090..dc26605152d3 100644 --- a/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml +++ b/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml @@ -1,7 +1,66 @@ -include: .gitlab/ci/jobs/test/tezt-flaky.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. -# Runs flaky Tezts in the 'before_merging' pipeline. tezt-flaky: - extends: - - .tezt-flaky - - .rules__octez_changes_manual + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: manual + allow_failure: true + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -flaky + TESTS: /ci_disabled /memory_3k /memory_4k /slow /time_sensitive flaky + TEZT_RETRY: "3" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 diff --git a/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml b/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml index 59bbab4a4674..c457ec28730b 100644 --- a/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml @@ -1,6 +1,65 @@ -include: .gitlab/ci/jobs/test/tezt-flaky.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. -# Runs flaky Tezts in the 'schedule_extended_test' pipeline. tezt-flaky: - extends: - - .tezt-flaky + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -flaky + TESTS: /ci_disabled /memory_3k /memory_4k /slow /time_sensitive flaky + TEZT_RETRY: "3" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 diff --git a/.gitlab/ci/jobs/test/tezt-flaky.yml b/.gitlab/ci/jobs/test/tezt-flaky.yml index 467529fba1be..b075f5040d24 100644 --- a/.gitlab/ci/jobs/test/tezt-flaky.yml +++ b/.gitlab/ci/jobs/test/tezt-flaky.yml @@ -1,15 +1,53 @@ -include: .gitlab/ci/jobs/test/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. -# Runs flaky Tezts in the 'schedule_extended_test' pipeline. -.tezt-flaky: - extends: - - .tezt_tests +tezt-flaky: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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}\"" + - _build/default/tezt/tests/main.exe ${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/exit_code.sh _build/default/tezt/tests/main.exe + ${TESTS} --color --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 + --on-unknown-regression-files fail --junit ${JUNIT} --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX}${TEZT_VARIANT}.json + --job-count ${TEZT_PARALLEL:-3} --retry ${TEZT_RETRY:-1} + - ./scripts/ci/merge_coverage.sh variables: - # Run only flaky tests - TESTS: "/ci_disabled /memory_3k /memory_4k /time_sensitive /slow flaky" - # To handle flakiness, consider tweaking TEZT_PARALLEL (passed to - # Tezt's '--job-count'), and TEZT_RETRY (passed to Tezt's - # '--retry') - TEZT_RETRY: 3 - TEZT_PARALLEL: 1 - TEZT_VARIANT: "-flaky" + JUNIT: tezt-junit.xml + TEZT_VARIANT: "" + TESTS: flaky + TEZT_RETRY: "3" + TEZT_PARALLEL: "1" + BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ + artifacts: + name: coverage-files-$CI_JOB_ID + expire_in: 3 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX}${TEZT_VARIANT}.json + - $BISECT_FILE + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 60bb53dbb92e..2cce528dbc26 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -120,7 +120,7 @@ let variables : variables = {{:https://gitlab.com/tezos/opam-repository/} tezos/opam-repository}. *) module Images = struct - let _runtime_e2etest_dependencies = + let runtime_e2etest_dependencies = Image.register ~name:"runtime_e2etest_dependencies" ~image_path: @@ -265,6 +265,20 @@ let enable_sccache ?(sccache_dir = "$CI_PROJECT_DIR/_sccache") : Tezos_ci.append_variables [("SCCACHE_DIR", sccache_dir); ("RUSTC_WRAPPER", "sccache")] +(** Add variables for bisect_ppx output and store the traces as an + artifact. + + This function should be applied to test jobs that produce coverage. *) +let enable_coverage_output_artifact ?(expire_in = Days 1) : + tezos_job -> tezos_job = + fun job -> + job |> enable_coverage_location + |> Tezos_ci.add_artifacts + ~expire_in + ~name:"coverage-files-$CI_JOB_ID" + ~when_:On_success + ["$BISECT_FILE"] + let changeset_octez = [ "src/**/*"; @@ -973,7 +987,7 @@ let job_build_arm64_exp_dev_extra : tezos_job = |> job_external (* Used in [before_merging] and [schedule_extended_test] pipelines *) -let _job_build_x86_64_release = +let job_build_x86_64_release = job_build_dynamic_binaries ~__POS__ ~arch:Amd64 @@ -984,7 +998,7 @@ let _job_build_x86_64_release = |> job_external (* Used in [before_merging] and [schedule_extended_test] pipelines *) -let _job_build_x86_64_exp_dev_extra = +let job_build_x86_64_exp_dev_extra = job_build_dynamic_binaries ~__POS__ ~arch:Amd64 @@ -1165,7 +1179,7 @@ let enable_kernels = ] (* Used in [before_merging] and [schedule_extended_tests] pipeline *) -let _job_build_kernels : tezos_job = +let job_build_kernels : tezos_job = job ~__POS__ ~name:"oc.build_kernels" @@ -1352,7 +1366,7 @@ let _jobs_install_octez : tezos_job list = Fetch records for Tezt generated on the last merge request pipeline on the most recently merged MR and makes them available in artifacts for future merge request pipelines. *) -let _job_tezt_fetch_records : tezos_job = +let job_tezt_fetch_records : tezos_job = job ~__POS__ ~name:"oc.tezt:fetch-records" @@ -1391,7 +1405,7 @@ let _job_tezt_fetch_records : tezos_job = Fetch records for Tezt generated on the last merge request pipeline on the most recently merged MR and makes them available in artifacts for future merge request pipelines. *) -let _job_select_tezts : tezos_job = +let job_select_tezts : tezos_job = job ~__POS__ ~name:"select_tezts" @@ -1407,6 +1421,179 @@ let _job_select_tezts : tezos_job = (artifacts ~expire_in:(Days 3) ~when_:Always ["selected_tezts.tsl"]) |> job_external +let job_tezt ~__POS__ ?rules ?parallel ?(tags = ["gcp_tezt"]) ~name ~tezt_tests + ?(retry = 2) ?(tezt_retry = 1) ?(tezt_parallel = 1) ?(tezt_variant = "") + ?(before_script = before_script ~source_version:true ~eval_opam:true []) + ~dependencies () : tezos_job = + let variables = + [ + ("JUNIT", "tezt-junit.xml"); + ("TEZT_VARIANT", tezt_variant); + ("TESTS", tezt_tests); + ("TEZT_RETRY", string_of_int tezt_retry); + ("TEZT_PARALLEL", string_of_int tezt_parallel); + ] + in + let artifacts = + artifacts + ~reports:(reports ~junit:"$JUNIT" ()) + [ + "selected_tezts.tsv"; + "tezt.log"; + "tezt-*.log"; + "tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json"; + "$JUNIT"; + ] + (* The record artifacts [tezt-results-$CI_NODE_INDEX.json] + should be stored for as long as a given commit on master is + expected to be HEAD in order to support auto-balancing. At + the time of writing, we have approximately 6 merges per day, + so 1 day should more than enough. However, we set it to 3 + days to keep records over the weekend. The tezt artifacts + (including records and coverage) take up roughly 2MB / + job. Total artifact storage becomes [N*P*T*W] where [N] is + the days of retention (3 atm), [P] the number of pipelines + per day (~200 atm), [T] the number of Tezt jobs per pipeline + (60) and [W] the artifact size per tezt job (2MB). This makes + 35GB which is less than 0.5% than our + {{:https://gitlab.com/tezos/tezos/-/artifacts}total artifact + usage}. *) + ~expire_in:(Days 7) + ~when_:Always + in + let print_variables = + [ + "TESTS"; + "JUNIT"; + "CI_NODE_INDEX"; + "CI_NODE_TOTAL"; + "TEZT_PARALLEL"; + "TEZT_VARIANT"; + ] + in + let retry = if retry = 0 then None else Some retry in + job + ~__POS__ + ~image:Images.runtime_e2etest_dependencies + ~name + ?parallel + ~tags + ~stage:Stages.test + ?rules + ~artifacts + ~variables + ~dependencies + ?retry + ~before_script + [ + (* Print [print_variables] in a shell-friendly manner for easier debugging *) + "echo \"" + ^ String.concat + " " + (List.map (fun var -> sf {|%s=\"${%s}\"|} var var) print_variables) + ^ "\""; + (* Store the list of tests that have been scheduled for execution for later debugging. + It is imperative this this first call to tezt receives any flags passed to the + second call that affect test selection. *) + "./scripts/ci/tezt.sh ${TESTS} --from-record tezt/records --job \ + ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv"; + (* For Tezt tests, there are multiple timeouts: + - --global-timeout is the internal timeout of Tezt, which only works if tests + are cooperative; + - the "timeout" command, which we set to send SIGTERM to Tezt 60s after --global-timeout + in case tests are not cooperative; + - the "timeout" command also sends SIGKILL 60s after having sent SIGTERM in case + Tezt is still stuck; + - the CI timeout. + The use of the "timeout" command is to make sure that Tezt eventually exits, + because if the CI timeout is reached, there are no artefacts, + and thus no logs to investigate. + See also: https://gitlab.com/gitlab-org/gitlab/-/issues/19818 *) + "./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh \ + ${TESTS} --color --log-buffer-size 5000 --log-file tezt.log \ + --global-timeout 1800 --on-unknown-regression-files fail --junit \ + ${JUNIT} --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:-3} --retry ${TEZT_RETRY:-1}"; + "if [ -n \"${BISECT_FILE:-}\" ]; then ./scripts/ci/merge_coverage.sh; fi"; + ] + +(** Tezt tags for tests that should never be executed in the CI. *) +let tezt_tags_always_disable = ["ci_disabled"] + +(** [tezt_tags_exclusive_tags] partitions the set of tests into separate jobs. + + In other words, the tests corresponding to each of these tags will + run in their own job. *) +let tezt_tags_exclusive_tags = + ["memory_3k"; "memory_4k"; "time_sensitive"; "slow"; "flaky"] + +(** [tezt_tests tags] the tag selector string for jobs running [tags]. + + It returns the tag selector that: + - deselects all tests from {!tezt_tags_always_disable}; + - deselects all tests from {!tezt_tags_exclusive_tags} except those in [tags]; + - selects [tags]. *) +let tezt_tests tags = + let always_disable = String_set.of_list tezt_tags_always_disable in + let exclusive_tags = String_set.of_list tezt_tags_exclusive_tags in + String_set.( + union always_disable (diff exclusive_tags (of_list tags)) + |> map (fun tag -> "/" ^ tag) + |> elements) + @ tags + |> String.concat " " + +let job_tezt_flaky ~__POS__ ~rules ~job_select_tezts ~job_build_x86_64_release + ~job_build_x86_64_exp_dev_extra ~job_build_kernels ~job_tezt_fetch_records : + tezos_job = + job_tezt + ~__POS__ + ~name:"tezt-flaky" + ~rules + ~tezt_tests:(tezt_tests ["flaky"]) + ~tezt_variant:"-flaky" + (* To handle flakiness, consider tweaking [~tezt_parallel] (passed to + Tezt's '--job-count'), and [~tezt_retry] (passed to Tezt's + '--retry') *) + ~retry:2 + ~tezt_retry:3 + ~tezt_parallel:1 + ~dependencies: + (Dependent + [ + Artifacts job_select_tezts; + Artifacts job_build_x86_64_release; + Artifacts job_build_x86_64_exp_dev_extra; + Artifacts job_build_kernels; + Artifacts job_tezt_fetch_records; + ]) + () + |> enable_coverage_output_artifact + +let _job_tezt_flaky_before_merging : tezos_job = + job_tezt_flaky + ~__POS__ + ~rules:[job_rule ~changes:changeset_octez ~when_:Manual ()] + ~job_select_tezts + ~job_build_x86_64_release + ~job_build_x86_64_exp_dev_extra + ~job_build_kernels + ~job_tezt_fetch_records + |> job_external ~filename_suffix:"before_merging" + +let _job_tezt_flaky_schedule_extended_test : tezos_job = + job_tezt_flaky + ~__POS__ + ~rules:[job_rule ~changes:changeset_octez ~when_:On_success ()] + ~job_select_tezts + ~job_build_x86_64_release + ~job_build_x86_64_exp_dev_extra + ~job_build_kernels + ~job_tezt_fetch_records + |> job_external ~filename_suffix:"schedule_extended_test" + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 5c8eec22a5ef6dbeaf2e762f842ead85114ce386 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Tue, 5 Mar 2024 11:32:36 +0100 Subject: [PATCH 14/54] CI: generate [documentation:linkcheck] --- .../ci/jobs/doc/documentation:linkcheck.yml | 40 ++++++++++--------- ci/bin/main.ml | 36 +++++++++++++++++ 2 files changed, 58 insertions(+), 18 deletions(-) diff --git a/.gitlab/ci/jobs/doc/documentation:linkcheck.yml b/.gitlab/ci/jobs/doc/documentation:linkcheck.yml index d5af378b13b9..e58953562b9e 100644 --- a/.gitlab/ci/jobs/doc/documentation:linkcheck.yml +++ b/.gitlab/ci/jobs/doc/documentation:linkcheck.yml @@ -1,23 +1,27 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + documentation:linkcheck: - extends: - - .default_settings_template - - .image_template__runtime_build_test_dependencies + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} stage: doc - needs: [] + tags: + - gcp rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: always - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/' - when: on_success - - when: manual + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: [] + dependencies: [] + allow_failure: true before_script: - - . ./scripts/version.sh - - eval $(opam env) - - . $HOME/.venv/bin/activate + - . ./scripts/version.sh + - eval $(opam env) + - . $HOME/.venv/bin/activate script: - - make all - - make -C docs html - - make -C docs redirectcheck - - make -C docs linkcheck - allow_failure: true + - make all + - make -C docs html + - make -C docs redirectcheck + - make -C docs linkcheck diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 2cce528dbc26..426c2e89b4c7 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1594,6 +1594,42 @@ let _job_tezt_flaky_schedule_extended_test : tezos_job = ~job_tezt_fetch_records |> job_external ~filename_suffix:"schedule_extended_test" +let job_documentation_linkcheck ~__POS__ ?rules () : tezos_job = + job + ?rules + ~__POS__ + ~name:"documentation:linkcheck" + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.doc + ~dependencies:(Dependent []) + ~allow_failure:Yes + ~before_script: + (before_script + ~source_version:true + ~eval_opam:true + ~init_python_venv:true + []) + [ + "make all"; + "make -C docs html"; + "make -C docs redirectcheck"; + "make -C docs linkcheck"; + ] + +(** The [documentation:linkcheck] job as included on [before_merging] and + [schedule_extended_test] pipelines. *) +let _job_documentation_linkcheck_before_merging_scheduled : tezos_job = + job_documentation_linkcheck + ~__POS__ + ~rules: + [ + job_rule ~if_:Rules.schedule_extended_tests ~when_:Always (); + job_rule ~if_:(Rules.has_mr_label "ci--docs") (); + job_rule ~when_:Manual (); + ] + () + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 6459f94db9eb6c6cdff5bbc38d33b4dac9164fb7 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Tue, 5 Mar 2024 11:59:09 +0100 Subject: [PATCH 15/54] CI: generate [oc.install_python.yml] --- .gitlab/ci/jobs/doc/oc.install_python.yml | 87 +++++++++++++++++------ .gitlab/ci/jobs/shared/images.yml | 2 + ci/bin/main.ml | 46 ++++++++++++ 3 files changed, 113 insertions(+), 22 deletions(-) diff --git a/.gitlab/ci/jobs/doc/oc.install_python.yml b/.gitlab/ci/jobs/doc/oc.install_python.yml index 5dca6ce53451..8b0afce214fe 100644 --- a/.gitlab/ci/jobs/doc/oc.install_python.yml +++ b/.gitlab/ci/jobs/doc/oc.install_python.yml @@ -1,31 +1,74 @@ -.oc.install_python_debian_ubuntu_template: - extends: - - .default_settings_template - - .needs__trigger - stage: doc - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"' - when: always - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - docs/developer/install-python-debian-ubuntu.sh - when: on_success - # Run when there is label on the merge request - - if: '$CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/' - when: on_success - - when: manual - allow_failure: true - script: - - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. oc.install_python_focal: image: public.ecr.aws/lts/ubuntu:20.04_stable - extends: .oc.install_python_debian_ubuntu_template + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/developer/install-python-debian-ubuntu.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} oc.install_python_jammy: image: public.ecr.aws/lts/ubuntu:22.04_stable - extends: .oc.install_python_debian_ubuntu_template + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/developer/install-python-debian-ubuntu.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} oc.install_python_bullseye: image: debian:bullseye - extends: .oc.install_python_debian_ubuntu_template + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/developer/install-python-debian-ubuntu.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} diff --git a/.gitlab/ci/jobs/shared/images.yml b/.gitlab/ci/jobs/shared/images.yml index f66311b4b845..bb547ff13b76 100644 --- a/.gitlab/ci/jobs/shared/images.yml +++ b/.gitlab/ci/jobs/shared/images.yml @@ -9,6 +9,8 @@ image: ${client_libs_dependencies_image_name}:${client_libs_dependencies_image_tag} .image_template__debian_bookworm: image: debian:bookworm +.image_template__debian_bullseye: + image: debian:bullseye .image_template__docker: image: ${CI_REGISTRY}/tezos/docker-images/ci-docker:v1.9.0 .image_template__fedora_37: diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 426c2e89b4c7..1b01e160b763 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -183,6 +183,9 @@ module Images = struct let debian_bookworm = Image.register ~name:"debian_bookworm" ~image_path:"debian:bookworm" + let debian_bullseye = + Image.register ~name:"debian_bullseye" ~image_path:"debian:bullseye" + let ubuntu_focal = Image.register ~name:"ubuntu_focal" @@ -1630,6 +1633,49 @@ let _job_documentation_linkcheck_before_merging_scheduled : tezos_job = () |> job_external +(** Creates a job that tests installation of the python environment in [image] *) +let job_install_python ~__POS__ ~name ~image = + job + ~__POS__ + ~name + ~image + ~stage:Stages.doc + ~dependencies:(Dependent [Optional job_trigger]) + ~rules: + [ + job_rule ~if_:Rules.schedule_extended_tests ~when_:Always (); + job_rule + ~if_:Rules.merge_request + ~changes:["docs/developer/install-python-debian-ubuntu.sh"] + ~when_:On_success + (); + job_rule ~if_:(Rules.has_mr_label "ci--docs") (); + job_rule ~when_:Manual ~allow_failure:Yes (); + ] + [ + "./docs/developer/install-python-debian-ubuntu.sh \ + ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} \ + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master}"; + ] + +(** The set of python installation test jobs. *) +let _jobs_install_python = + [ + job_install_python + ~__POS__ + ~name:"oc.install_python_focal" + ~image:Images.ubuntu_focal; + job_install_python + ~__POS__ + ~name:"oc.install_python_jammy" + ~image:Images.ubuntu_jammy; + job_install_python + ~__POS__ + ~name:"oc.install_python_bullseye" + ~image:Images.debian_bullseye; + ] + |> jobs_external ~path:"doc/oc.install_python.yml" + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From c930ea4ee9326eb3e2faa52b93dd91571ebd03f7 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Tue, 16 Jan 2024 15:21:20 +0100 Subject: [PATCH 16/54] CI: generate job [sanity_ci] --- .gitlab/ci/jobs/sanity/sanity_ci.yml | 25 +++++++++++++------------ ci/bin/main.ml | 20 +++++++++++++++++++- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/.gitlab/ci/jobs/sanity/sanity_ci.yml b/.gitlab/ci/jobs/sanity/sanity_ci.yml index 1953d5c94cd1..03fbc48c8a15 100644 --- a/.gitlab/ci/jobs/sanity/sanity_ci.yml +++ b/.gitlab/ci/jobs/sanity/sanity_ci.yml @@ -1,16 +1,17 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + sanity_ci: - extends: - - .default_settings_template - - .image_template__runtime_build_dependencies + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} stage: sanity + tags: + - gcp + dependencies: [] before_script: - - ./scripts/ci/take_ownership.sh - - eval $(opam env) + - ./scripts/ci/take_ownership.sh + - eval $(opam env) script: - - make -C manifest check - - ./scripts/lint.sh --check-gitlab-ci-yml - # Check that the opam-repo images' Alpine version corresponds to - # the value in scripts/version.sh. - - ./scripts/ci/check_alpine_version.sh - # Check that .gitlab-ci.yml is up to date - - make -C ci check + - make -C manifest check + - ./scripts/lint.sh --check-gitlab-ci-yml + - ./scripts/ci/check_alpine_version.sh + - make -C ci check diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 1b01e160b763..89c645f7ba66 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -27,7 +27,7 @@ let default = default ~interruptible:true () module Stages = struct let trigger = Stage.register "trigger" - let _sanity = Stage.register "sanity" + let sanity = Stage.register "sanity" let build = Stage.register "build" @@ -1676,6 +1676,24 @@ let _jobs_install_python = ] |> jobs_external ~path:"doc/oc.install_python.yml" +let _job_sanity_ci : tezos_job = + job + ~__POS__ + ~name:"sanity_ci" + ~image:Images.runtime_build_dependencies + ~stage:Stages.sanity + ~before_script:(before_script ~take_ownership:true ~eval_opam:true []) + [ + "make -C manifest check"; + "./scripts/lint.sh --check-gitlab-ci-yml"; + (* Check that the opam-repo images' Alpine version corresponds to + the value in scripts/version.sh. *) + "./scripts/ci/check_alpine_version.sh"; + (* Check that .gitlab-ci.yml is up to date. *) + "make -C ci check"; + ] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 2aa6fd9f0024afaab7253d9e27a473ca0c33583d Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 11:35:52 +0100 Subject: [PATCH 17/54] CI: refactor, add explicit [when:] to hadolint job rule --- .gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml b/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml index a5ad35760140..91a4d16ee042 100644 --- a/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml +++ b/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml @@ -9,3 +9,4 @@ docker:hadolint-before_merging: - changes: - build.Dockerfile - Dockerfile + when: on_success -- GitLab From 185b54f41a55bc106cdc0e1e00bf8c02653feaac Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 11:36:39 +0100 Subject: [PATCH 18/54] CI: generate job [hadolint] --- .../sanity/docker:hadolint-before_merging.yml | 21 +++++++++------ ...docker:hadolint-schedule_extended_test.yml | 12 ++++++--- .gitlab/ci/jobs/shared/images.yml | 2 ++ ci/bin/main.ml | 26 +++++++++++++++++++ 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml b/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml index 91a4d16ee042..0338b3a6bb2d 100644 --- a/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml +++ b/.gitlab/ci/jobs/sanity/docker:hadolint-before_merging.yml @@ -1,12 +1,17 @@ -include: .gitlab/ci/jobs/sanity/docker:hadolint.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. docker:hadolint-before_merging: - extends: - - .docker:hadolint + image: hadolint/hadolint:2.9.3-debian stage: sanity + tags: + - gcp rules: - # Only run on merge requests when Dockerfiles have changed - - changes: - - build.Dockerfile - - Dockerfile - when: on_success + - changes: + - build.Dockerfile + - Dockerfile + when: on_success + dependencies: [] + script: + - hadolint build.Dockerfile + - hadolint Dockerfile diff --git a/.gitlab/ci/jobs/sanity/docker:hadolint-schedule_extended_test.yml b/.gitlab/ci/jobs/sanity/docker:hadolint-schedule_extended_test.yml index 031b42c93a30..564ed1c54708 100644 --- a/.gitlab/ci/jobs/sanity/docker:hadolint-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/sanity/docker:hadolint-schedule_extended_test.yml @@ -1,6 +1,12 @@ -include: .gitlab/ci/jobs/sanity/docker:hadolint.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. docker:hadolint-schedule_extended_test: - extends: - - .docker:hadolint + image: hadolint/hadolint:2.9.3-debian stage: sanity + tags: + - gcp + dependencies: [] + script: + - hadolint build.Dockerfile + - hadolint Dockerfile diff --git a/.gitlab/ci/jobs/shared/images.yml b/.gitlab/ci/jobs/shared/images.yml index bb547ff13b76..4d5fd427b2eb 100644 --- a/.gitlab/ci/jobs/shared/images.yml +++ b/.gitlab/ci/jobs/shared/images.yml @@ -17,6 +17,8 @@ image: fedora:37 .image_template__fedora_39: image: fedora:39 +.image_template__hadolint: + image: hadolint/hadolint:2.9.3-debian .image_template__opam_debian_bullseye: image: ocaml/opam:debian-11 .image_template__opam_ubuntu_focal: diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 89c645f7ba66..c8630c3b44df 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -219,6 +219,9 @@ module Images = struct Image.register ~name:"opam_debian_bullseye" ~image_path:"ocaml/opam:debian-11" + + let hadolint = + Image.register ~name:"hadolint" ~image_path:"hadolint/hadolint:2.9.3-debian" end let before_script ?(take_ownership = false) ?(source_version = false) @@ -1694,6 +1697,29 @@ let _job_sanity_ci : tezos_job = ] |> job_external +let changeset_docker_files = ["build.Dockerfile"; "Dockerfile"] + +let job_docker_hadolint ?rules ~__POS__ ~name () : tezos_job = + job + ?rules + ~__POS__ + ~name + ~image:Images.hadolint + ~stage:Stages.sanity + ["hadolint build.Dockerfile"; "hadolint Dockerfile"] + +let _job_docker_hadolint_before_merging : tezos_job = + job_docker_hadolint + ~__POS__ + ~name:"docker:hadolint-before_merging" + ~rules:[job_rule ~changes:changeset_docker_files ()] + () + |> job_external + +let _job_docker_hadolint_schedule_extended_tests : tezos_job = + job_docker_hadolint ~__POS__ ~name:"docker:hadolint-schedule_extended_test" () + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 8867cf9977e030f14c0a9491d2de6a4fe9d1ff05 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Tue, 16 Jan 2024 15:33:45 +0100 Subject: [PATCH 19/54] CI: generate [ocaml-check] --- .gitlab/ci/jobs/build/ocaml-check.yml | 35 ++++++++++++++++++--------- ci/bin/main.ml | 20 +++++++++++++++ 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/.gitlab/ci/jobs/build/ocaml-check.yml b/.gitlab/ci/jobs/build/ocaml-check.yml index ab8e560c3c43..59994e8289f3 100644 --- a/.gitlab/ci/jobs/build/ocaml-check.yml +++ b/.gitlab/ci/jobs/build/ocaml-check.yml @@ -1,15 +1,26 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + ocaml-check: - extends: - - .tags_template__build - - .oc.build_template - - .needs__trigger + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp rules: - - changes: - - src/**/* - - tezt/**/* - - .gitlab/**/* - - .gitlab-ci.yml - - devtools/**/* - when: on_success + - changes: + - src/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - devtools/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) script: - - dune build @check + - dune build @check diff --git a/ci/bin/main.ml b/ci/bin/main.ml index c8630c3b44df..f1199a4adecf 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1720,6 +1720,26 @@ let _job_docker_hadolint_schedule_extended_tests : tezos_job = job_docker_hadolint ~__POS__ ~name:"docker:hadolint-schedule_extended_test" () |> job_external +let changeset_ocaml_files = + ["src/**/*"; "tezt/**/*"; ".gitlab/**/*"; ".gitlab-ci.yml"; "devtools/**/*"] + +let _job_ocaml_check : tezos_job = + job + ~__POS__ + ~name:"ocaml-check" + ~image:Images.runtime_build_dependencies + ~stage:Stages.build + ~dependencies:(Dependent [Optional job_trigger]) + ~rules:[job_rule ~changes:changeset_ocaml_files ()] + ~before_script: + (before_script + ~take_ownership:true + ~source_version:true + ~eval_opam:true + []) + ["dune build @check"] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 75e390d6d93c1a47785948477517774105c1384e Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 12:01:32 +0100 Subject: [PATCH 20/54] CI: refactor, script line order in [oc.misc_checks-before_merging] This ordering clarifies the difference between this job and the scheduled variant. --- .gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml b/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml index 7e808a0a7b7d..5f61535758c8 100644 --- a/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml +++ b/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml @@ -3,5 +3,5 @@ oc.misc_checks: - .oc.misc_checks script: - ./scripts/ci/lint_misc_check.sh - - ./scripts/ci/lint_check_licenses.sh - scripts/check_wasm_pvm_regressions.sh check + - ./scripts/ci/lint_check_licenses.sh -- GitLab From 16ada8f692f47ba5c28650d71f65975c106f4101 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 12:02:36 +0100 Subject: [PATCH 21/54] CI: refactor, only [changes:] rules in [oc.misc_checks-before_merging] The semantics of [changes:] in scheduled pipelines is less obvious and regardless we prefer to run jobs unconditionally in the scheduled pipeline. Also explicitly state the [when:] --- .gitlab/ci/jobs/shared/templates.yml | 13 ------------- .../ci/jobs/test/oc.misc_checks-before_merging.yml | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.gitlab/ci/jobs/shared/templates.yml b/.gitlab/ci/jobs/shared/templates.yml index 283f293124fa..1a09dc6e9675 100644 --- a/.gitlab/ci/jobs/shared/templates.yml +++ b/.gitlab/ci/jobs/shared/templates.yml @@ -261,19 +261,6 @@ # Load the environment poetry previously created in the docker image. # Give access to the Python dependencies/executables - . $HOME/.venv/bin/activate - rules: - # The linting job runs over the set of [source_directories] - # defined in [scripts/lint.sh] that must be included here: - - changes: - - src/**/* - - tezt/**/* - - devtools/**/* - - scripts/**/* - - docs/**/* - - contrib/**/* - - etherlink/**/* - - .gitlab-ci.yml - - .gitlab/**/* .test_etherlink_kernel: extends: diff --git a/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml b/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml index 5f61535758c8..ff273cad0dfe 100644 --- a/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml +++ b/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml @@ -5,3 +5,17 @@ oc.misc_checks: - ./scripts/ci/lint_misc_check.sh - scripts/check_wasm_pvm_regressions.sh check - ./scripts/ci/lint_check_licenses.sh + rules: + # The linting job runs over the set of [source_directories] + # defined in [scripts/lint.sh] that must be included here: + - changes: + - src/**/* + - tezt/**/* + - devtools/**/* + - scripts/**/* + - docs/**/* + - contrib/**/* + - etherlink/**/* + - .gitlab-ci.yml + - .gitlab/**/* + when: on_success -- GitLab From 7d70ebe5fc5f10e150312903a88d926c0f324cc0 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 12:05:28 +0100 Subject: [PATCH 22/54] CI: generate [oc.misc_checks] --- .../test/oc.misc_checks-before_merging.yml | 50 ++++++++++++------- .../oc.misc_checks-schedule_extended_test.yml | 24 ++++++--- ci/bin/main.ml | 50 +++++++++++++++++++ scripts/lint.sh | 2 + 4 files changed, 101 insertions(+), 25 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml b/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml index ff273cad0dfe..ad99a2a907e1 100644 --- a/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml +++ b/.gitlab/ci/jobs/test/oc.misc_checks-before_merging.yml @@ -1,21 +1,33 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.misc_checks: - extends: - - .oc.misc_checks - script: - - ./scripts/ci/lint_misc_check.sh - - scripts/check_wasm_pvm_regressions.sh check - - ./scripts/ci/lint_check_licenses.sh + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp rules: - # The linting job runs over the set of [source_directories] - # defined in [scripts/lint.sh] that must be included here: - - changes: - - src/**/* - - tezt/**/* - - devtools/**/* - - scripts/**/* - - docs/**/* - - contrib/**/* - - etherlink/**/* - - .gitlab-ci.yml - - .gitlab/**/* - when: on_success + - changes: + - src/**/* + - tezt/**/* + - devtools/**/* + - scripts/**/* + - docs/**/* + - contrib/**/* + - etherlink/**/* + - .gitlab-ci.yml + - .gitlab/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./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 + - ./scripts/ci/lint_check_licenses.sh diff --git a/.gitlab/ci/jobs/test/oc.misc_checks-schedule_extended_test.yml b/.gitlab/ci/jobs/test/oc.misc_checks-schedule_extended_test.yml index a21a310086f3..2e07cce8f2d4 100644 --- a/.gitlab/ci/jobs/test/oc.misc_checks-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/oc.misc_checks-schedule_extended_test.yml @@ -1,8 +1,20 @@ -# As 'oc.misc_checks' in 'oc.misc_checks:before_merging.yml' but does -# not check the license header of newly added OCaml files. +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.misc_checks: - extends: - - .oc.misc_checks + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./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 + - ./scripts/ci/lint_misc_check.sh + - scripts/check_wasm_pvm_regressions.sh check diff --git a/ci/bin/main.ml b/ci/bin/main.ml index f1199a4adecf..208908b4996c 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1740,6 +1740,56 @@ let _job_ocaml_check : tezos_job = ["dune build @check"] |> job_external +(* Misc checks *) + +(* The linting job runs over the set of [source_directories] + defined in [scripts/lint.sh] that must be included here: *) +let changeset_lint_files = + [ + "src/**/*"; + "tezt/**/*"; + "devtools/**/*"; + "scripts/**/*"; + "docs/**/*"; + "contrib/**/*"; + "etherlink/**/*"; + ".gitlab-ci.yml"; + ".gitlab/**/*"; + ] + +let job_oc_misc_checks ?rules ~__POS__ ~check_licenses () : tezos_job = + job + ?rules + ~__POS__ + ~name:"oc.misc_checks" + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.test + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script: + (before_script + ~take_ownership:true + ~source_version:true + ~eval_opam:true + ~init_python_venv:true + []) + ([ + "./scripts/ci/lint_misc_check.sh"; + "scripts/check_wasm_pvm_regressions.sh check"; + ] + @ if check_licenses then ["./scripts/ci/lint_check_licenses.sh"] else []) + +let _job_oc_misc_checks_before_merging : tezos_job = + job_oc_misc_checks + ~__POS__ + ~rules:[job_rule ~changes:changeset_lint_files ()] + ~check_licenses:true + () + |> job_external ~filename_suffix:"before_merging" + +let _job_oc_misc_checks_schedule_extended_test = + job_oc_misc_checks ~__POS__ ~check_licenses:false () + |> job_external ~filename_suffix:"schedule_extended_test" + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined diff --git a/scripts/lint.sh b/scripts/lint.sh index 9ed78a0872de..0103d7ae3f88 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -34,6 +34,8 @@ say() { declare -a source_directories +# Make sure that the set of source_directories here are also reflected in +# [changeset_lint_files] in [ci/bin/main.ml]. source_directories=(src docs/doc_gen tezt devtools contrib etherlink) # Set of newline-separated basic regular expressions to exclude from --check-licenses-git-new. license_check_exclude=$( -- GitLab From b2e81f18aa5c1666452a1f7248a48bb15f332352 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 12:07:28 +0100 Subject: [PATCH 23/54] CI: generate [kaitai_checks] --- .gitlab/ci/jobs/test/kaitai_checks.yml | 31 ++++++++++++++++++++------ ci/bin/main.ml | 27 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/.gitlab/ci/jobs/test/kaitai_checks.yml b/.gitlab/ci/jobs/test/kaitai_checks.yml index 13b4f2c81bc5..2907c997dd7c 100644 --- a/.gitlab/ci/jobs/test/kaitai_checks.yml +++ b/.gitlab/ci/jobs/test/kaitai_checks.yml @@ -1,10 +1,27 @@ -include: .gitlab/ci/jobs/test/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. -# check that ksy files are still up-to-date with octez kaitai_checks: - extends: - - .test_template - - .needs__trigger - - .rules__octez_kaitai_e2e_changes + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - images/**/* + - src/**/* + - contrib/*kaitai*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) 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) + - 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) diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 208908b4996c..29325ed48e52 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -315,6 +315,15 @@ let changeset_octez_docs = ".gitlab-ci.yml"; ] +let changeset_kaitai_e2e_files = + [ + "images/**/*"; + "src/**/*"; + "contrib/*kaitai*/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + (* Dummy job. This fixes the "configuration must contain at least one @@ -1790,6 +1799,24 @@ let _job_oc_misc_checks_schedule_extended_test = job_oc_misc_checks ~__POS__ ~check_licenses:false () |> job_external ~filename_suffix:"schedule_extended_test" +(* check that ksy files are still up-to-date with octez *) +let _job_kaitai_checks : tezos_job = + job + ~__POS__ + ~name:"kaitai_checks" + ~image:Images.runtime_build_dependencies + ~stage:Stages.test + ~dependencies:(Dependent [Optional job_trigger]) + ~rules:[job_rule ~changes:changeset_kaitai_e2e_files ()] + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + [ + "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)"; + ] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From ebbc6c3cd1a309a5b4a4350dad3c57f726df702b Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 12:18:45 +0100 Subject: [PATCH 24/54] CI: generate [oc.docker:client-libs-*] --- ...lient-libs-dependencies-before_merging.yml | 30 ++++++++++++++++--- ....docker:client-libs-dependencies-other.yml | 20 +++++++++++-- ci/bin/main.ml | 26 ++++++++++++++++ 3 files changed, 70 insertions(+), 6 deletions(-) diff --git a/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-before_merging.yml b/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-before_merging.yml index e38ee2a14fbb..840e47587976 100644 --- a/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-before_merging.yml +++ b/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-before_merging.yml @@ -1,6 +1,28 @@ -include: .gitlab/ci/jobs/build/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. oc.docker:client-libs-dependencies: - extends: - - .oc.docker:client-libs-dependencies_template - - .rules__octez_kaitai_e2e_changes + image: ${CI_REGISTRY}/tezos/docker-images/ci-docker:v1.9.0 + stage: build + tags: + - gcp + rules: + - changes: + - images/**/* + - src/**/* + - contrib/*kaitai*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + dependencies: [] + before_script: [] + script: + - ./scripts/ci/docker_client_libs_dependencies_build.sh + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.6 + CI_DOCKER_HUB: "false" + artifacts: + reports: + dotenv: client_libs_dependencies_image_tag.env diff --git a/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-other.yml b/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-other.yml index 74e08a1107f2..426e607c58e3 100644 --- a/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-other.yml +++ b/.gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-other.yml @@ -1,4 +1,20 @@ -include: .gitlab/ci/jobs/build/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. oc.docker:client-libs-dependencies: - extends: .oc.docker:client-libs-dependencies_template + image: ${CI_REGISTRY}/tezos/docker-images/ci-docker:v1.9.0 + stage: build + tags: + - gcp + dependencies: [] + before_script: [] + script: + - ./scripts/ci/docker_client_libs_dependencies_build.sh + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.6 + CI_DOCKER_HUB: "false" + artifacts: + reports: + dotenv: client_libs_dependencies_image_tag.env diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 29325ed48e52..f5731743a2af 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -506,6 +506,32 @@ let _job_docker_rust_toolchain_before_merging = let job_docker_rust_toolchain_other = job_docker_rust_toolchain ~__POS__ () |> job_external ~filename_suffix:"other" +let job_docker_client_libs_dependencies ?rules ?dependencies ~__POS__ () = + job_docker_authenticated + ?rules + ?dependencies + ~__POS__ + ~skip_docker_initialization:true + ~stage:Stages.build + ~name:"oc.docker:client-libs-dependencies" + ~variables:[("CI_DOCKER_HUB", "false")] + ~artifacts: + (artifacts + ~reports:(reports ~dotenv:"client_libs_dependencies_image_tag.env" ()) + []) + ["./scripts/ci/docker_client_libs_dependencies_build.sh"] + +let _job_docker_client_libs_dependencies_before_merging = + job_docker_client_libs_dependencies + ~__POS__ + ~rules:[job_rule ~changes:changeset_kaitai_e2e_files ~when_:On_success ()] + () + |> job_external ~filename_suffix:"before_merging" + +let _job_docker_client_libs_dependencies_other = + job_docker_client_libs_dependencies ~__POS__ () + |> job_external ~filename_suffix:"other" + (** Type of Docker build jobs. The semantics of the type is summed up in this table: -- GitLab From aa43e2c7bf5e67504075c1ed9f3d075936e47166 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 12:21:52 +0100 Subject: [PATCH 25/54] CI: generate [kaitai_e2e_checks] --- .gitlab/ci/jobs/test/kaitai_e2e_checks.yml | 41 ++++++++++++---------- ci/bin/main.ml | 38 ++++++++++++++++++-- 2 files changed, 58 insertions(+), 21 deletions(-) diff --git a/.gitlab/ci/jobs/test/kaitai_e2e_checks.yml b/.gitlab/ci/jobs/test/kaitai_e2e_checks.yml index 011a383043cc..42999a7e9b1c 100644 --- a/.gitlab/ci/jobs/test/kaitai_e2e_checks.yml +++ b/.gitlab/ci/jobs/test/kaitai_e2e_checks.yml @@ -1,22 +1,27 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + kaitai_e2e_checks: - extends: - - .default_settings_template - - .image_template__client_libs_dependencies - - .rules__octez_kaitai_e2e_changes + image: ${client_libs_dependencies_image_name}:${client_libs_dependencies_image_tag} stage: test - needs: [oc.docker:client-libs-dependencies, kaitai_checks] - dependencies: [oc.docker:client-libs-dependencies] + tags: + - gcp + rules: + - changes: + - images/**/* + - src/**/* + - contrib/*kaitai*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:client-libs-dependencies + - kaitai_checks + dependencies: + - oc.docker:client-libs-dependencies before_script: - - . ./scripts/version.sh - # TODO: https://gitlab.com/tezos/tezos/-/issues/5026 - # As observed for the `unit:js_components` running `npm i` - # everytime we run a job is inefficient. - # - # The benefit of this approach is that we specify node version - # and npm dependencies (package.json) in one place, and that the local - # environment is then the same as CI environment. - - . ./scripts/install_build_deps.js.sh + - . ./scripts/version.sh + - . ./scripts/install_build_deps.js.sh script: - - ./contrib/kaitai-struct-files/scripts/kaitai_e2e.sh - contrib/kaitai-struct-files/files - contrib/kaitai-struct-files/input + - ./contrib/kaitai-struct-files/scripts/kaitai_e2e.sh contrib/kaitai-struct-files/files + contrib/kaitai-struct-files/input diff --git a/ci/bin/main.ml b/ci/bin/main.ml index f5731743a2af..f98b9eccbf92 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -144,7 +144,7 @@ module Images = struct ~image_path: "${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version}" - let _client_libs_dependencies = + let client_libs_dependencies = Image.register ~name:"client_libs_dependencies" ~image_path: @@ -521,7 +521,7 @@ let job_docker_client_libs_dependencies ?rules ?dependencies ~__POS__ () = []) ["./scripts/ci/docker_client_libs_dependencies_build.sh"] -let _job_docker_client_libs_dependencies_before_merging = +let job_docker_client_libs_dependencies_before_merging = job_docker_client_libs_dependencies ~__POS__ ~rules:[job_rule ~changes:changeset_kaitai_e2e_files ~when_:On_success ()] @@ -1826,7 +1826,7 @@ let _job_oc_misc_checks_schedule_extended_test = |> job_external ~filename_suffix:"schedule_extended_test" (* check that ksy files are still up-to-date with octez *) -let _job_kaitai_checks : tezos_job = +let job_kaitai_checks : tezos_job = job ~__POS__ ~name:"kaitai_checks" @@ -1843,6 +1843,38 @@ let _job_kaitai_checks : tezos_job = ] |> job_external +let _job_kaitai_e2e_checks = + job + ~__POS__ + ~name:"kaitai_e2e_checks" + ~image:Images.client_libs_dependencies + ~stage:Stages.test + ~dependencies: + (Dependent + [ + (* TODO: make sure this job is in the same pipeline. *) + Artifacts job_docker_client_libs_dependencies_before_merging; + Job job_kaitai_checks; + ]) + ~rules:[job_rule ~changes:changeset_kaitai_e2e_files ()] + ~before_script: + (before_script + ~source_version:true + (* TODO: https://gitlab.com/tezos/tezos/-/issues/5026 + As observed for the `unit:js_components` running `npm i` + everytime we run a job is inefficient. + + The benefit of this approach is that we specify node version + and npm dependencies (package.json) in one place, and that the local + environment is then the same as CI environment. *) + ~install_js_deps:true + []) + [ + "./contrib/kaitai-struct-files/scripts/kaitai_e2e.sh \ + contrib/kaitai-struct-files/files contrib/kaitai-struct-files/input"; + ] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 6c9dde8bac0216e5609c2c4c323cd6c45c4d4441 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 12:23:59 +0100 Subject: [PATCH 26/54] CI: generate [oc.check_lift_limits_patch] --- .../jobs/test/oc.check_lift_limits_patch.yml | 39 ++++++++++++------- ci/bin/main.ml | 28 +++++++++++++ 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.check_lift_limits_patch.yml b/.gitlab/ci/jobs/test/oc.check_lift_limits_patch.yml index a1794aae470a..98eb7dcfad50 100644 --- a/.gitlab/ci/jobs/test/oc.check_lift_limits_patch.yml +++ b/.gitlab/ci/jobs/test/oc.check_lift_limits_patch.yml @@ -1,18 +1,27 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.check_lift_limits_patch: - extends: - - .test_template - - .needs__trigger + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp rules: - - changes: - - src/bin_tps_evaluation/lift_limits.patch - - src/proto_alpha/lib_protocol/main.ml - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + - changes: + - src/bin_tps_evaluation/lift_limits.patch + - src/proto_alpha/lib_protocol/main.ml + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) script: - # Check that the patch only modifies the - # src/proto_alpha/lib_protocol. If not, the rules above have to be - # updated. - - '[ $(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 + - '[ $(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 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index f98b9eccbf92..a92c0ffd8a9d 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1875,6 +1875,34 @@ let _job_kaitai_e2e_checks = ] |> job_external +let changeset_lift_limits_patch = + [ + "src/bin_tps_evaluation/lift_limits.patch"; + "src/proto_alpha/lib_protocol/main.ml"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let _job_oc_check_lift_limits_patch = + job + ~__POS__ + ~name:"oc.check_lift_limits_patch" + ~image:Images.runtime_build_dependencies + ~stage:Stages.test + ~dependencies:(Dependent [Optional job_trigger]) + ~rules:[job_rule ~changes:changeset_lift_limits_patch ()] + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + [ + (* Check that the patch only modifies the + src/proto_alpha/lib_protocol. If not, the rules above have to be + updated. *) + "[ $(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"; + ] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 9fdbaf4c88014c4a9772e655c6e4119eee8eaacf Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 12:30:12 +0100 Subject: [PATCH 27/54] CI: generate [misc_opam_checks] --- .gitlab/ci/jobs/test/misc_opam_checks.yml | 40 ++++++++++++++++------- ci/bin/main.ml | 17 ++++++++++ 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/.gitlab/ci/jobs/test/misc_opam_checks.yml b/.gitlab/ci/jobs/test/misc_opam_checks.yml index d4b0e17e5cb3..6921c3cdf66b 100644 --- a/.gitlab/ci/jobs/test/misc_opam_checks.yml +++ b/.gitlab/ci/jobs/test/misc_opam_checks.yml @@ -1,15 +1,33 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + misc_opam_checks: - extends: - - .test_template - - .needs__trigger - # This job is flaky due to e.g. network issues. - - .oc.template__retry_flaky - - .rules__octez_changes + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) script: - # checks that all deps of opam packages are already installed - - ./scripts/opam-check.sh + - ./scripts/opam-check.sh artifacts: - when: always - paths: - - opam_repo.patch expire_in: 1 day + paths: + - opam_repo.patch + when: always + retry: 2 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index a92c0ffd8a9d..be71cf682cec 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1903,6 +1903,23 @@ let _job_oc_check_lift_limits_patch = ] |> job_external +let _job_misc_opam_checks = + job + ~__POS__ + ~name:"misc_opam_checks" + ~image:Images.runtime_build_dependencies + ~stage:Stages.test + ~retry:2 + ~dependencies:(Dependent [Optional job_trigger]) + ~rules:[job_rule ~changes:changeset_octez ()] + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + [ + (* checks that all deps of opam packages are already installed *) + "./scripts/opam-check.sh"; + ] + ~artifacts:(artifacts ~when_:Always ["opam_repo.patch"] ~expire_in:(Days 1)) + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 7cd57a74be6916dd3a0d9cd4ffd4bc54916d076b Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 12:35:04 +0100 Subject: [PATCH 28/54] CI: generate [oc.semgrep] --- .gitlab/ci/jobs/shared/images.yml | 2 ++ .gitlab/ci/jobs/test/oc.semgrep.yml | 43 ++++++++++++++--------------- ci/bin/main.ml | 38 +++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 22 deletions(-) diff --git a/.gitlab/ci/jobs/shared/images.yml b/.gitlab/ci/jobs/shared/images.yml index 4d5fd427b2eb..2c61c6ea52ab 100644 --- a/.gitlab/ci/jobs/shared/images.yml +++ b/.gitlab/ci/jobs/shared/images.yml @@ -35,6 +35,8 @@ image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} .image_template__rust_toolchain: image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} +.image_template__semgrep_agent: + image: returntocorp/semgrep-agent:sha-c6cd7cf .image_template__ubuntu_focal: image: public.ecr.aws/lts/ubuntu:20.04_stable .image_template__ubuntu_jammy: diff --git a/.gitlab/ci/jobs/test/oc.semgrep.yml b/.gitlab/ci/jobs/test/oc.semgrep.yml index 53e0f3e4602b..10121659decf 100644 --- a/.gitlab/ci/jobs/test/oc.semgrep.yml +++ b/.gitlab/ci/jobs/test/oc.semgrep.yml @@ -1,26 +1,25 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.semgrep: - extends: - - .default_settings_template - - .needs__trigger - rules: - - changes: - - src/**/* - - tezt/**/* - - devtools/**/* - - scripts/semgrep/**/* - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success - # We specify the image by hash to avoid flakiness. Indeed, if we took the - # latest release, then an update in the parser or analyser could result in new - # errors being found even if the code doesn't change. This would place the - # burden for fixing the code on the wrong dev (the devs who happen to open an - # MR coinciding with the semgrep update rather than the dev who wrote the - # infringing code in the first place). - # Update the hash in scripts/semgrep/README.md too when updating it here - # Last update: 20212-01-03 image: returntocorp/semgrep-agent:sha-c6cd7cf stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - tezt/**/* + - devtools/**/* + - scripts/semgrep/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] 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 + - 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 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index be71cf682cec..2e32a8460587 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -222,6 +222,19 @@ module Images = struct let hadolint = Image.register ~name:"hadolint" ~image_path:"hadolint/hadolint:2.9.3-debian" + + (* We specify the semgrep image by hash to avoid flakiness. Indeed, if we took the + latest release, then an update in the parser or analyser could result in new + errors being found even if the code doesn't change. This would place the + burden for fixing the code on the wrong dev (the devs who happen to open an + MR coinciding with the semgrep update rather than the dev who wrote the + infringing code in the first place). + Update the hash in scripts/semgrep/README.md too when updating it here + Last update: 2022-01-03 *) + let semgrep_agent = + Image.register + ~name:"semgrep_agent" + ~image_path:"returntocorp/semgrep-agent:sha-c6cd7cf" end let before_script ?(take_ownership = false) ?(source_version = false) @@ -1920,6 +1933,31 @@ let _job_misc_opam_checks = ~artifacts:(artifacts ~when_:Always ["opam_repo.patch"] ~expire_in:(Days 1)) |> job_external +let changeset_semgrep_files = + [ + "src/**/*"; + "tezt/**/*"; + "devtools/**/*"; + "scripts/semgrep/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let _job_semgrep = + job + ~__POS__ + ~name:"oc.semgrep" + ~image:Images.semgrep_agent + ~stage:Stages.test + ~dependencies:(Dependent [Optional job_trigger]) + ~rules:[job_rule ~changes:changeset_semgrep_files ()] + [ + "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"; + ] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 552595af3973f3ab5af71ba2a8c2660eaede690a Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 13:12:16 +0100 Subject: [PATCH 29/54] CI: remove coverage, artifacts, retry from [oc.unit:protocol_compiles] This job does not need coverage instrumentation, nor does it need to store any artifacts. It is not flaky and should not have retry. --- .gitlab/ci/jobs/test/oc.unit.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/jobs/test/oc.unit.yml b/.gitlab/ci/jobs/test/oc.unit.yml index dc989dee5b94..58b6fd3a26de 100644 --- a/.gitlab/ci/jobs/test/oc.unit.yml +++ b/.gitlab/ci/jobs/test/oc.unit.yml @@ -128,6 +128,16 @@ oc.unit:js_components: - make test-js oc.unit:protocol_compiles: - extends: .oc.unit_test_template_x86_64 + extends: + - .default_settings_template + - .image_template__runtime_build_dependencies + - .rules__octez_changes + stage: test + needs: + - "oc.build_x86_64-released" + - "oc.build_x86_64-exp-dev-extra" + before_script: + - . ./scripts/version.sh + - eval $(opam env) script: - dune build @runtest_compile_protocol -- GitLab From 2372fcb197923aee24b380c76ffc8b8885a53361 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 13:16:17 +0100 Subject: [PATCH 30/54] CI: remove coverage, artifacts from [oc.unit:js_components] This job does not need coverage instrumentation, nor does it need to store any artifacts. --- .gitlab/ci/jobs/test/oc.unit.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/jobs/test/oc.unit.yml b/.gitlab/ci/jobs/test/oc.unit.yml index 58b6fd3a26de..82b1dc2ecafa 100644 --- a/.gitlab/ci/jobs/test/oc.unit.yml +++ b/.gitlab/ci/jobs/test/oc.unit.yml @@ -112,8 +112,15 @@ oc.unit:webassembly-x86_64: oc.unit:js_components: extends: - - .oc.unit_test_template_x86_64 + - .default_settings_template - .image_template__runtime_build_test_dependencies + - .rules__octez_changes + stage: test + needs: + - "oc.build_x86_64-released" + - "oc.build_x86_64-exp-dev-extra" + # This is known to have been flaky + retry: 2 variables: # See `.gitlab-ci.yml` for details on `RUNTEZTALIAS` RUNTEZTALIAS: "true" -- GitLab From a9463d1af6e495ca6a1afe974a3f73beeb1bdcfc Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 13:33:57 +0100 Subject: [PATCH 31/54] CI: remove coverage, artifacts from [oc.unit:webassembly-x86_64] This job does not need coverage instrumentation, nor does it need to store any artifacts. --- .gitlab/ci/jobs/test/oc.unit.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.unit.yml b/.gitlab/ci/jobs/test/oc.unit.yml index 82b1dc2ecafa..b02d8297ace3 100644 --- a/.gitlab/ci/jobs/test/oc.unit.yml +++ b/.gitlab/ci/jobs/test/oc.unit.yml @@ -98,17 +98,25 @@ oc.unit:non-proto-arm64: oc.unit:webassembly-x86_64: extends: - - .oc.unit_test_template_x86_64 + - .default_settings_template # The wasm tests are written in Python - .image_template__runtime_build_test_dependencies - variables: - MAKE_TARGETS: test-webassembly + - .rules__octez_changes + needs: + - "oc.build_x86_64-released" + - "oc.build_x86_64-exp-dev-extra" + stage: test # TODO: https://gitlab.com/tezos/tezos/-/issues/4663 # This test takes around 2 to 4min to complete, but it sometimes # hangs. We use a timeout to retry the test in this case. The # underlying issue should be fixed eventually, turning this timeout # unnecessary. timeout: 20 minutes + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make test-webassembly oc.unit:js_components: extends: -- GitLab From 4af1d369e87ff2f295122f15199fd86e1dc61143 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 12:40:30 +0100 Subject: [PATCH 32/54] CI: generate [oc.unit] --- .gitlab/ci/jobs/test/oc.unit.yml | 325 +++++++++++++++++++------------ ci/bin/main.ml | 168 ++++++++++++++++ 2 files changed, 373 insertions(+), 120 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.unit.yml b/.gitlab/ci/jobs/test/oc.unit.yml index b02d8297ace3..274b0bee162d 100644 --- a/.gitlab/ci/jobs/test/oc.unit.yml +++ b/.gitlab/ci/jobs/test/oc.unit.yml @@ -1,158 +1,243 @@ -.oc.unit_test_template: - extends: - - .test_template - - .rules__octez_changes - - .oc.template__retry_flaky - variables: - ARCH: "" - MAKE_TARGETS: "" +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + +oc.unit:non-proto-x86_64: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) script: - - make $MAKE_TARGETS + - make $MAKE_TARGETS + - ./scripts/ci/merge_coverage.sh + variables: + ARCH: x86_64 + MAKE_TARGETS: test-nonproto-unit + COVERAGE_OPTIONS: --instrument-with bisect_ppx + BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_SHA-${ARCH}" + name: coverage-files-$CI_JOB_ID + expire_in: 1 day paths: - - test_results + - test_results + - $BISECT_FILE reports: junit: test_results/*.xml - expire_in: 1 day when: always - -.oc.unit_test_template_x86_64: - extends: .oc.unit_test_template - variables: - ARCH: "x86_64" - -.oc.unit_test_template_x86_64_coverage: - extends: - - .oc.unit_test_template_x86_64 - # Enable coverage instrumentation, enable coverage trace output - # and store it in artifacts. - - .oc.template__coverage_instrumentation - - .oc.template__coverage_output_artifact - script: - - make $MAKE_TARGETS - - ./scripts/ci/merge_coverage.sh - # Merge the [artifacts:] definition of [.oc.unit_test_template] and - # of [.oc.template__coverage_output_artifact]. - artifacts: - when: always - paths: - - $BISECT_FILE - - test_results - -.oc.unit_test_template_arm64: - extends: - - .oc.unit_test_template - - .tags_template__build_arm64 - needs: - - "oc.build_arm64-released" - - "oc.build_arm64-exp-dev-extra" - variables: - ARCH: "arm64" - rules: - # These rules are implied by the rules for the [oc.build_arm64-*] - # jobs (through [needs:]), as such the build jobs always run if - # the test jobs are included. Conversely, we want to run the test - # jobs whenever the build jobs are included, so we have mostly - # have the same rules here, except that we do not make the jobs - # [when: manual] since if the build jobs were manual and - # triggered, then there is no point in having the user do another - # manual action to also run the tests. - - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" - when: always - - changes: - - src/**/* - - .gitlab/**/* - - .gitlab-ci.yml - - -oc.unit:non-proto-x86_64: - extends: - - .oc.unit_test_template_x86_64_coverage - # The [lib_benchmark] unit tests require Python - - .image_template__runtime_build_test_dependencies - variables: - MAKE_TARGETS: test-nonproto-unit + retry: 2 oc.unit:other-x86_64: - extends: - - .oc.unit_test_template_x86_64_coverage + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS + - ./scripts/ci/merge_coverage.sh variables: + ARCH: x86_64 MAKE_TARGETS: test-other-unit + 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 + reports: + junit: test_results/*.xml + when: always + retry: 2 oc.unit:proto-x86_64: - extends: - - .oc.unit_test_template_x86_64_coverage + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS + - ./scripts/ci/merge_coverage.sh variables: + ARCH: x86_64 MAKE_TARGETS: test-proto-unit + 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 + reports: + junit: test_results/*.xml + when: always + retry: 2 oc.unit:non-proto-arm64: - extends: - - .oc.unit_test_template_arm64 - # The [lib_benchmark] unit tests require Python - - .image_template__runtime_build_test_dependencies + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_arm64 + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - src/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.build_arm64-released + - oc.build_arm64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS variables: + ARCH: arm64 MAKE_TARGETS: test-nonproto-unit test-webassembly DISTRIBUTE_TESTS_TO_PARALLELS: "true" + 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: - extends: - - .default_settings_template - # The wasm tests are written in Python - - .image_template__runtime_build_test_dependencies - - .rules__octez_changes - needs: - - "oc.build_x86_64-released" - - "oc.build_x86_64-exp-dev-extra" + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} stage: test - # TODO: https://gitlab.com/tezos/tezos/-/issues/4663 - # This test takes around 2 to 4min to complete, but it sometimes - # hangs. We use a timeout to retry the test in this case. The - # underlying issue should be fixed eventually, turning this timeout - # unnecessary. + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] timeout: 20 minutes before_script: - - . ./scripts/version.sh - - eval $(opam env) + - . ./scripts/version.sh + - eval $(opam env) script: - - make test-webassembly + - make test-webassembly oc.unit:js_components: - extends: - - .default_settings_template - - .image_template__runtime_build_test_dependencies - - .rules__octez_changes + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success needs: - - "oc.build_x86_64-released" - - "oc.build_x86_64-exp-dev-extra" - # This is known to have been flaky - retry: 2 - variables: - # See `.gitlab-ci.yml` for details on `RUNTEZTALIAS` - RUNTEZTALIAS: "true" - # Note: this overrides the `before_script` inherited from - # `.test_template` to add `take_ownership.sh`. + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] before_script: - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) - - . ./scripts/install_build_deps.js.sh + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/install_build_deps.js.sh script: - - make test-js + - make test-js + variables: + RUNTEZTALIAS: "true" + retry: 2 oc.unit:protocol_compiles: - extends: - - .default_settings_template - - .image_template__runtime_build_dependencies - - .rules__octez_changes + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success needs: - - "oc.build_x86_64-released" - - "oc.build_x86_64-exp-dev-extra" + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] before_script: - - . ./scripts/version.sh - - eval $(opam env) + - . ./scripts/version.sh + - eval $(opam env) script: - - dune build @runtest_compile_protocol + - dune build @runtest_compile_protocol diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 2e32a8460587..9e892ae5f2c9 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1958,6 +1958,174 @@ let _job_semgrep = ] |> job_external +let changeset_unit_test_arm64 = ["src/**/*"; ".gitlab/**/*"; ".gitlab-ci.yml"] + +let _jobs_unit_tests : tezos_job list = + let build_dependencies = function + | Amd64 -> + Dependent + [Job job_build_x86_64_release; Job job_build_x86_64_exp_dev_extra] + | Arm64 -> + Dependent + [Job job_build_arm64_release; Job job_build_arm64_exp_dev_extra] + in + let job_unit_test ~__POS__ ?(image = Images.runtime_build_dependencies) + ?timeout ?parallel ~arch ~name ?(enable_coverage = true) + ?(rules = [job_rule ~changes:changeset_octez ()]) ~make_targets () : + tezos_job = + let arch_string = + match arch with Tezos_ci.Amd64 -> "x86_64" | Arm64 -> "arm64" + in + let script = + ["make $MAKE_TARGETS"] + @ if enable_coverage then ["./scripts/ci/merge_coverage.sh"] else [] + in + let dependencies = build_dependencies arch in + let variables = + [("ARCH", arch_string); ("MAKE_TARGETS", String.concat " " make_targets)] + @ + (* When parallel is set to non-zero (translating to the + [parallel:] clause), set the variable + [DISTRIBUTE_TESTS_TO_PARALLELS] to [true], so that + [scripts/test_wrapper.sh] partitions the set of @runtest + targets to build. *) + match parallel with + | Some n when n > 1 -> [("DISTRIBUTE_TESTS_TO_PARALLELS", "true")] + | _ -> [] + in + let job = + job + ?timeout + ?parallel + ~__POS__ + ~retry:2 + ~name + ~stage:Stages.test + ~image + ~arch + ~dependencies + ~rules + ~variables + ~artifacts: + (artifacts + ~name:"$CI_JOB_NAME-$CI_COMMIT_SHA-${ARCH}" + ["test_results"] + ~reports:(reports ~junit:"test_results/*.xml" ()) + ~expire_in:(Days 1) + ~when_:Always) + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + script + in + if enable_coverage then + job |> enable_coverage_instrumentation |> enable_coverage_output_artifact + else job + in + let oc_unit_non_proto_x86_64 = + job_unit_test + ~__POS__ + ~name:"oc.unit:non-proto-x86_64" + ~arch:Amd64 (* The [lib_benchmark] unit tests require Python *) + ~image:Images.runtime_build_test_dependencies + ~make_targets:["test-nonproto-unit"] + () + in + let oc_unit_other_x86_64 = + (* Runs unit tests for contrib. *) + job_unit_test + ~__POS__ + ~name:"oc.unit:other-x86_64" + ~arch:Amd64 + ~make_targets:["test-other-unit"] + () + in + let oc_unit_proto_x86_64 = + (* Runs unit tests for contrib. *) + job_unit_test + ~__POS__ + ~name:"oc.unit:proto-x86_64" + ~arch:Amd64 + ~make_targets:["test-proto-unit"] + () + in + let oc_unit_non_proto_arm64 = + job_unit_test + ~__POS__ + ~name:"oc.unit:non-proto-arm64" + ~parallel:2 + ~arch:Arm64 (* The [lib_benchmark] unit tests require Python *) + ~image:Images.runtime_build_test_dependencies + ~rules: + [ + job_rule ~if_:Rules.schedule_extended_tests ~when_:Always (); + job_rule ~changes:changeset_unit_test_arm64 (); + ] + ~make_targets:["test-nonproto-unit"; "test-webassembly"] + (* No coverage for arm64 jobs -- the code they test is a + subset of that tested by x86_64 unit tests. *) + ~enable_coverage:false + () + in + let oc_unit_webassembly_x86_64 = + job + ~__POS__ + ~name:"oc.unit:webassembly-x86_64" + ~arch:Amd64 (* The wasm tests are written in Python *) + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.test + ~dependencies:(build_dependencies Amd64) + ~rules:[job_rule ~changes:changeset_octez ()] + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + (* TODO: https://gitlab.com/tezos/tezos/-/issues/4663 + This test takes around 2 to 4min to complete, but it sometimes + hangs. We use a timeout to retry the test in this case. The + underlying issue should be fixed eventually, turning this timeout + unnecessary. *) + ~timeout:(Minutes 20) + ["make test-webassembly"] + in + let oc_unit_js_components = + job + ~__POS__ + ~name:"oc.unit:js_components" + ~arch:Amd64 + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.test + ~dependencies:(build_dependencies Amd64) + ~rules:[job_rule ~changes:changeset_octez ()] + ~retry:2 + ~variables:[("RUNTEZTALIAS", "true")] + ~before_script: + (before_script + ~take_ownership:true + ~source_version:true + ~eval_opam:true + ~install_js_deps:true + []) + ["make test-js"] + in + let oc_unit_protocol_compiles = + job + ~__POS__ + ~name:"oc.unit:protocol_compiles" + ~arch:Amd64 + ~image:Images.runtime_build_dependencies + ~stage:Stages.test + ~dependencies:(build_dependencies Amd64) + ~rules:[job_rule ~changes:changeset_octez ()] + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + ["dune build @runtest_compile_protocol"] + in + [ + oc_unit_non_proto_x86_64; + oc_unit_other_x86_64; + oc_unit_proto_x86_64; + oc_unit_non_proto_arm64; + oc_unit_webassembly_x86_64; + oc_unit_js_components; + oc_unit_protocol_compiles; + ] + |> jobs_external ~path:"test/oc.unit.yml" + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From e1245c8581a1891831c0b051c67c8e4154ad6024 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 16:36:21 +0100 Subject: [PATCH 33/54] CI: generate [oc.integration:compiler-rejections] --- .../oc.integration:compiler-rejections.yml | 29 ++++++++++++++++--- ci/bin/main.ml | 14 +++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.integration:compiler-rejections.yml b/.gitlab/ci/jobs/test/oc.integration:compiler-rejections.yml index 4c3b47592650..cc8ac5280334 100644 --- a/.gitlab/ci/jobs/test/oc.integration:compiler-rejections.yml +++ b/.gitlab/ci/jobs/test/oc.integration:compiler-rejections.yml @@ -1,6 +1,27 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.integration:compiler-rejections: - extends: - - .test_template - - .rules__octez_changes + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) script: - - dune build @runtest_rejections + - dune build @runtest_rejections diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 9e892ae5f2c9..abdd579594c9 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2126,6 +2126,20 @@ let _jobs_unit_tests : tezos_job list = ] |> jobs_external ~path:"test/oc.unit.yml" +let _job_oc_integration_compiler_rejections : tezos_job = + job + ~__POS__ + ~name:"oc.integration:compiler-rejections" + ~stage:Stages.test + ~image:Images.runtime_build_dependencies + ~rules:[job_rule ~changes:changeset_octez ()] + ~dependencies: + (Dependent + [Job job_build_x86_64_release; Job job_build_x86_64_exp_dev_extra]) + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + ["dune build @runtest_rejections"] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From ac93f6dd05fe1d41f7ae7f686d5e8b932f544c97 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 17:18:28 +0100 Subject: [PATCH 34/54] CI: generate [oc.script:snapshot_alpha_and_link.yml] --- .../oc.script:snapshot_alpha_and_link.yml | 56 +++++++++---------- ci/bin/main.ml | 42 ++++++++++++++ 2 files changed, 70 insertions(+), 28 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.script:snapshot_alpha_and_link.yml b/.gitlab/ci/jobs/test/oc.script:snapshot_alpha_and_link.yml index c2f9907a1a5f..8003cb8ad982 100644 --- a/.gitlab/ci/jobs/test/oc.script:snapshot_alpha_and_link.yml +++ b/.gitlab/ci/jobs/test/oc.script:snapshot_alpha_and_link.yml @@ -1,32 +1,32 @@ -# Note: this job actually probably doesn't need the oc.build_x86_64 job -# to have finished, but we don't want to start before oc.build_x86_64 has finished either. -# However, when oc.build_x86_64-* don't exist, we don't need to wait for them. +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.script:snapshot_alpha_and_link: - extends: - - .default_settings_template - - .image_template__runtime_build_dependencies + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} stage: test - before_script: - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) + tags: + - gcp + rules: + - changes: + - src/proto_alpha/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - scripts/snapshot_alpha_and_link.sh + - scripts/snapshot_alpha.sh + - scripts/user_activated_upgrade.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success needs: - - job: trigger - optional: true - - job: "oc.build_x86_64-released" - optional: true - - job: "oc.build_x86_64-exp-dev-extra" - optional: true + - job: trigger + optional: true + - job: oc.build_x86_64-released + optional: true + - job: oc.build_x86_64-exp-dev-extra + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) script: - - ./.gitlab/ci/jobs/test/script:snapshot_alpha_and_link.sh - rules: - # We only need to run this if protocol Alpha or if the scripts changed. - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - changes: - - src/proto_alpha/**/* - - .gitlab/**/* - - .gitlab-ci.yml - - scripts/snapshot_alpha_and_link.sh - - scripts/snapshot_alpha.sh - - scripts/user_activated_upgrade.sh - when: on_success + - ./.gitlab/ci/jobs/test/script:snapshot_alpha_and_link.sh diff --git a/ci/bin/main.ml b/ci/bin/main.ml index abdd579594c9..e87b44dc0f4e 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2140,6 +2140,48 @@ let _job_oc_integration_compiler_rejections : tezos_job = ["dune build @runtest_rejections"] |> job_external +let changeset_script_snapshot_alpha_and_link = + [ + "src/proto_alpha/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + "scripts/snapshot_alpha_and_link.sh"; + "scripts/snapshot_alpha.sh"; + "scripts/user_activated_upgrade.sh"; + ] + +let _job_oc_script_snapshot_alpha_and_link : tezos_job = + job + ~__POS__ + ~name:"oc.script:snapshot_alpha_and_link" + ~stage:Stages.test + ~image:Images.runtime_build_dependencies + ~rules: + [ + job_rule + ~if_:Rules.merge_request + ~changes:changeset_script_snapshot_alpha_and_link + (); + ] + (* Note: this job actually probably doesn't need the oc.build_x86_64 job + to have finished, but we don't want to start before oc.build_x86_64 has finished either. + However, when oc.build_x86_64-* don't exist, we don't need to wait for them. *) + ~dependencies: + (Dependent + [ + Optional job_trigger; + Optional job_build_x86_64_release; + Optional job_build_x86_64_exp_dev_extra; + ]) + ~before_script: + (before_script + ~take_ownership:true + ~source_version:true + ~eval_opam:true + []) + ["./.gitlab/ci/jobs/test/script:snapshot_alpha_and_link.sh"] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 901c34c0fd7a725c0919773dc5c136afde8c6150 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 17:33:46 +0100 Subject: [PATCH 35/54] CI: generate [oc.script:oc.script:test-gen-genesis] --- .../jobs/test/oc.script:test-gen-genesis.yml | 31 ++++++++++++++----- ci/bin/main.ml | 12 +++++++ 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.script:test-gen-genesis.yml b/.gitlab/ci/jobs/test/oc.script:test-gen-genesis.yml index d0f126ac8cc1..c1b113474eca 100644 --- a/.gitlab/ci/jobs/test/oc.script:test-gen-genesis.yml +++ b/.gitlab/ci/jobs/test/oc.script:test-gen-genesis.yml @@ -1,12 +1,27 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.script:test-gen-genesis: - extends: - - .default_settings_template - - .image_template__runtime_build_dependencies - - .rules__octez_changes - - .needs__trigger + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] before_script: - - eval $(opam env) - - cd scripts/gen-genesis + - eval $(opam env) + - cd scripts/gen-genesis script: - - dune build gen_genesis.exe + - dune build gen_genesis.exe diff --git a/ci/bin/main.ml b/ci/bin/main.ml index e87b44dc0f4e..a28ad83a15ef 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2182,6 +2182,18 @@ let _job_oc_script_snapshot_alpha_and_link : tezos_job = ["./.gitlab/ci/jobs/test/script:snapshot_alpha_and_link.sh"] |> job_external +let _job_oc_script_test_gen_genesis : tezos_job = + job + ~__POS__ + ~name:"oc.script:test-gen-genesis" + ~stage:Stages.test + ~image:Images.runtime_build_dependencies + ~rules:[job_rule ~changes:changeset_octez ()] + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script:(before_script ~eval_opam:true ["cd scripts/gen-genesis"]) + ["dune build gen_genesis.exe"] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From a033ca655ef58152275714c91dc2f1da181d1878 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 17:46:19 +0100 Subject: [PATCH 36/54] CI: generate [oc.script:test_release_versions] --- .../test/oc.script:test_release_versions.yml | 30 +++++++++++++++---- ci/bin/main.ml | 19 ++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.script:test_release_versions.yml b/.gitlab/ci/jobs/test/oc.script:test_release_versions.yml index db82de9047f9..1758664399ec 100644 --- a/.gitlab/ci/jobs/test/oc.script:test_release_versions.yml +++ b/.gitlab/ci/jobs/test/oc.script:test_release_versions.yml @@ -1,8 +1,28 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.script:test_release_versions: - extends: .test_template + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] before_script: - - ./scripts/ci/take_ownership.sh - - . ./scripts/version.sh - - eval $(opam env) + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) script: - - ./scripts/test_release_version.sh + - ./scripts/test_release_version.sh diff --git a/ci/bin/main.ml b/ci/bin/main.ml index a28ad83a15ef..8fafd4c86f0d 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2194,6 +2194,25 @@ let _job_oc_script_test_gen_genesis : tezos_job = ["dune build gen_genesis.exe"] |> job_external +let _job_oc_script_test_release_versions : tezos_job = + job + ~__POS__ + ~name:"oc.script:test_release_versions" + ~stage:Stages.test + ~image:Images.runtime_build_dependencies + ~rules:[job_rule ~changes:changeset_octez ()] + ~dependencies: + (Dependent + [Job job_build_x86_64_release; Job job_build_x86_64_exp_dev_extra]) + ~before_script: + (before_script + ~take_ownership:true + ~source_version:true + ~eval_opam:true + []) + ["./scripts/test_release_version.sh"] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 85fb0c962aacd7efaae1291a0ec74dc4a4029776 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 17:55:25 +0100 Subject: [PATCH 37/54] CI: generate [oc.script:b58_prefix] --- .gitlab/ci/jobs/test/oc.script:b58_prefix.yml | 42 ++++++++++--------- ci/bin/main.ml | 28 +++++++++++++ 2 files changed, 50 insertions(+), 20 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.script:b58_prefix.yml b/.gitlab/ci/jobs/test/oc.script:b58_prefix.yml index 1d3523f1f77b..68d4f98b2f9a 100644 --- a/.gitlab/ci/jobs/test/oc.script:b58_prefix.yml +++ b/.gitlab/ci/jobs/test/oc.script:b58_prefix.yml @@ -1,24 +1,26 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + oc.script:b58_prefix: - # Can be changed to a python image, but using the build docker image to keep - # in sync with the python version used for the tests - extends: - - .default_settings_template - # Requires Python - - .image_template__runtime_build_test_dependencies - - .needs__trigger - rules: - - changes: - - scripts/b58_prefix/b58_prefix.py - - scripts/b58_prefix/test_b58_prefix.py - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} stage: test + tags: + - gcp + rules: + - changes: + - scripts/b58_prefix/b58_prefix.py + - scripts/b58_prefix/test_b58_prefix.py + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] before_script: - - . ./scripts/version.sh - # Load the environment poetry previously created in the docker image. - # Give access to the Python dependencies/executables - - . $HOME/.venv/bin/activate + - . ./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 + - 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 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 8fafd4c86f0d..74a17cd25c0c 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2213,6 +2213,34 @@ let _job_oc_script_test_release_versions : tezos_job = ["./scripts/test_release_version.sh"] |> job_external +let changeset_script_b58_prefix = + [ + "scripts/b58_prefix/b58_prefix.py"; + "scripts/b58_prefix/test_b58_prefix.py"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let _job_oc_script_b58_prefix = + job + ~__POS__ + ~name:"oc.script:b58_prefix" + ~stage:Stages.test + (* Requires Python. Can be changed to a python image, but using + the build docker image to keep in sync with the python + version used for the tests *) + ~image:Images.runtime_build_test_dependencies + ~rules:[job_rule ~changes:changeset_script_b58_prefix ()] + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script: + (before_script ~source_version:true ~init_python_venv:true []) + [ + "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"; + ] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From e90b609a0ecbc3b969c59ddc59db2d92d5b8a6a8 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 18 Jan 2024 18:01:01 +0100 Subject: [PATCH 38/54] CI: generate [oc.test-liquidity-baking-scripts] --- .../test/oc.test-liquidity-baking-scripts.yml | 36 ++++++++++++------- ci/bin/main.ml | 26 ++++++++++++++ 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/.gitlab/ci/jobs/test/oc.test-liquidity-baking-scripts.yml b/.gitlab/ci/jobs/test/oc.test-liquidity-baking-scripts.yml index 8f14b6cff389..c3ac1da85667 100644 --- a/.gitlab/ci/jobs/test/oc.test-liquidity-baking-scripts.yml +++ b/.gitlab/ci/jobs/test/oc.test-liquidity-baking-scripts.yml @@ -1,17 +1,27 @@ -include: .gitlab/ci/jobs/test/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. oc.test-liquidity-baking-scripts: - extends: - - .test_template + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp rules: - - changes: - - src/**/* - - scripts/ci/test_liquidity_baking_scripts.sh - - scripts/check-liquidity-baking-scripts.sh - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + - changes: + - src/**/* + - scripts/ci/test_liquidity_baking_scripts.sh + - scripts/check-liquidity-baking-scripts.sh + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra dependencies: - - "oc.build_x86_64-released" - - "oc.build_x86_64-exp-dev-extra" - script: ./scripts/ci/test_liquidity_baking_scripts.sh + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/test_liquidity_baking_scripts.sh diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 74a17cd25c0c..723925306bab 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2241,6 +2241,32 @@ let _job_oc_script_b58_prefix = ] |> job_external +let changeset_test_liquidity_baking_scripts = + [ + "src/**/*"; + "scripts/ci/test_liquidity_baking_scripts.sh"; + "scripts/check-liquidity-baking-scripts.sh"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let _job_oc_test_liquidity_baking_scripts : tezos_job = + job + ~__POS__ + ~name:"oc.test-liquidity-baking-scripts" + ~stage:Stages.test + ~image:Images.runtime_build_dependencies + ~rules:[job_rule ~changes:changeset_test_liquidity_baking_scripts ()] + ~dependencies: + (Dependent + [ + Artifacts job_build_x86_64_release; + Artifacts job_build_x86_64_exp_dev_extra; + ]) + ~before_script:(before_script ~source_version:true ~eval_opam:true []) + ["./scripts/ci/test_liquidity_baking_scripts.sh"] + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 333dc7c4e6edae4144b8d7a136f4e9d82b74386b Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 13:00:42 +0100 Subject: [PATCH 39/54] CI: generate all tezt tests (wipish) --- .gitlab/ci/jobs/test/tezt.yml | 363 +++++++++++++++++++++++++++------- ci/bin/main.ml | 99 +++++++++- 2 files changed, 391 insertions(+), 71 deletions(-) diff --git a/.gitlab/ci/jobs/test/tezt.yml b/.gitlab/ci/jobs/test/tezt.yml index bcb7012208cd..18fc398fd202 100644 --- a/.gitlab/ci/jobs/test/tezt.yml +++ b/.gitlab/ci/jobs/test/tezt.yml @@ -1,89 +1,312 @@ -include: .gitlab/ci/jobs/test/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. tezt: - extends: - - .tezt_tests + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi variables: - # Exclude tests with tags 'ci_disabled', 'flaky', 'memory_{3,4}k', - # 'time_sensitive' and 'slow'. - # See tezt/lib_tezos/tag.mli for more information. - TESTS: "/ci_disabled /flaky /memory_3k /memory_4k /time_sensitive /slow" - # the -j option of tezt - TEZT_PARALLEL: 3 - # WARNING: if you increase the number of parallel jobs, you need to - # update .gitlab/ci/jobs/coverage/oc.unified_coverage-before_merging.yml with the - # new list of jobs. + JUNIT: tezt-junit.xml + TEZT_VARIANT: "" + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /slow /time_sensitive + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 parallel: 60 -# the following memory hungry tests are executed with -j 1 tezt-memory-4k: - extends: [.tezt_tests] + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi variables: - TESTS: "/ci_disabled memory_4k" - TEZT_PARALLEL: 1 - TEZT_VARIANT: "-memory_4k" + JUNIT: tezt-junit.xml + TEZT_VARIANT: -memory_4k + TESTS: /ci_disabled /flaky /memory_3k /slow /time_sensitive memory_4k + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 parallel: 4 tezt-memory-3k: - extends: [.tezt_tests] + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi variables: - TESTS: "/ci_disabled memory_3k" - TEZT_PARALLEL: 1 - TEZT_VARIANT: "-memory_3k" + JUNIT: tezt-junit.xml + TEZT_VARIANT: -memory_3k + TESTS: /ci_disabled /flaky /memory_4k /slow /time_sensitive memory_3k + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 -# the following tests are executed with -j 1 to ensure that other -# tests do not affect their executions. However, these tests are not -# particularly cpu/memory-intensive hence they do not need to run on a -# particular machine contrary to performance regression tests. tezt-time-sensitive: - extends: [.tezt_tests] + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi variables: - TESTS: "/ci_disabled time_sensitive" - TEZT_PARALLEL: 1 - TEZT_VARIANT: "-time_sensitive" + JUNIT: tezt-junit.xml + TEZT_VARIANT: -time_sensitive + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /slow time_sensitive + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 -# these are tezt tests as above, but run using the static binaries tezt:static-binaries: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} stage: test - extends: - # Expansion of .integration_template but without coverage. - - .default_settings_template - - .image_template__runtime_e2etest_dependencies - - .tezt_template - - .rules__octez_changes - dependencies: - - select_tezts - # Fetch src/proto_*/parameters/*.json and tezt/tests/main.exe from - # oc.build_x86_64-exp-dev-extra - - oc.build_x86_64-exp-dev-extra - # And fetch the static executables from build:static - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success needs: - - select_tezts - - oc.build_x86_64-exp-dev-extra - - oc.build:static-x86_64-linux-binaries - - oc.tezt:fetch-records - variables: - TESTS: "/ci_disabled cli" + - select_tezts + - oc.build_x86_64-exp-dev-extra + - oc.build:static-x86_64-linux-binaries + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-exp-dev-extra + - oc.build:static-x86_64-linux-binaries + - oc.tezt:fetch-records before_script: - - mv octez-binaries/x86_64/octez-* . - -# Note: if you reactivate this test and if you keep it manual, put it in the "manual" stage. -# -#tezt:manual:migration: -# extends: -# - .test_template -# before_script: -# - export TEZOS_CLIENT_UNSAFE_DISABLE_DISCLAIMER=Y -# - curl -s https://api.github.com/repos/Phlogi/tezos-snapshots/releases/latest | jq -r ".assets[] | select(.name) | .browser_download_url" | grep roll | xargs wget -q -# - block_hash=$(echo mainnet.roll.* | sed -r 's/mainnet\.roll\.[0-9_-]+\.(.*)\.[0-9]+\.chain\.xz/\1/g') -# - cat mainnet.roll.* | xz -d -v -T0 > mainnet.rolling -# - scripts/prepare_migration_test.sh auto mainnet.rolling "$block_hash" -# script: -# - dune exec ./tezt/manual_tests/main.exe -- migration --color --log-buffer-size 5000 --log-file tezt-migration.log -# artifacts: -# when: always -# paths: -# - tezt-migration.log -# expire_in: 30 days + - 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: "" + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /slow /time_sensitive cli + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 723925306bab..1c24936a8a25 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -480,7 +480,7 @@ let _job_static_arm64_experimental = () |> job_external ~filename_suffix:"experimental" -let _job_static_x86_64_experimental = +let job_static_x86_64_experimental = job_build_static_binaries ~__POS__ ~arch:Amd64 @@ -2267,6 +2267,103 @@ let _job_oc_test_liquidity_baking_scripts : tezos_job = ["./scripts/ci/test_liquidity_baking_scripts.sh"] |> job_external +let _jobs_tezt = + let dependencies = + Dependent + [ + Artifacts job_select_tezts; + Artifacts job_build_x86_64_release; + Artifacts job_build_x86_64_exp_dev_extra; + Artifacts job_build_kernels; + Artifacts job_tezt_fetch_records; + ] + in + let rules = [job_rule ~changes:changeset_octez ()] in + let coverage_expiry = Days 3 in + let tezt : tezos_job = + job_tezt + ~__POS__ + ~name:"tezt" + (* Exclude tests with tags 'ci_disabled', 'flaky' and `memory_{3,4}k`. + See tezt/lib_tezos/tag.mli for more information. *) + ~tezt_tests:(tezt_tests []) + ~tezt_parallel:3 + ~parallel:60 + ~rules + ~dependencies + () + |> enable_coverage_output_artifact ~expire_in:coverage_expiry + in + let tezt_memory_4k : tezos_job = + job_tezt + ~__POS__ + ~name:"tezt-memory-4k" + ~tezt_tests:(tezt_tests ["memory_4k"]) + ~tezt_variant:"-memory_4k" + ~parallel:4 + ~dependencies + ~rules + () + |> enable_coverage_output_artifact ~expire_in:coverage_expiry + in + + let tezt_memory_3k : tezos_job = + job_tezt + ~__POS__ + ~name:"tezt-memory-3k" + ~tezt_tests:(tezt_tests ["memory_3k"]) + ~tezt_variant:"-memory_3k" + ~dependencies + ~rules + () + |> enable_coverage_output_artifact ~expire_in:coverage_expiry + in + let tezt_time_sensitive : tezos_job = + (* the following tests are executed with [~tezt_parallel:1] to ensure + that other tests do not affect their executions. However, these + tests are not particularly cpu/memory-intensive hence they do not + need to run on a particular machine contrary to performance + regression tests. *) + job_tezt + ~__POS__ + ~name:"tezt-time-sensitive" + ~tezt_tests:(tezt_tests ["time_sensitive"]) + ~tezt_variant:"-time_sensitive" + ~dependencies + ~rules + () + |> enable_coverage_output_artifact ~expire_in:coverage_expiry + in + let tezt_static_binaries : tezos_job = + job_tezt (* TODO: this job might as well run on [gcp_tezt] *) + ~__POS__ + ~tags:["gcp"] + ~name:"tezt:static-binaries" + ~tezt_tests:(tezt_tests ["cli"]) + ~tezt_parallel:3 + ~retry:0 + ~dependencies: + (Dependent + [ + Artifacts job_select_tezts; + Artifacts job_build_x86_64_exp_dev_extra; + Artifacts job_static_x86_64_experimental; + Artifacts job_tezt_fetch_records; + ]) + ~rules + ~before_script:(before_script ["mv octez-binaries/x86_64/octez-* ."]) + () + in + jobs_external + ~path:"test/tezt.yml" + [ + tezt; + tezt_memory_4k; + tezt_memory_3k; + tezt_time_sensitive; + tezt_static_binaries; + ] + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 4afc56ca3ecb588ccdc91fcb800d4951fef4bfe4 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:02:36 +0100 Subject: [PATCH 40/54] CI: refactor, more precise [before_script:] in [documentation.yml] --- .gitlab/ci/jobs/doc/documentation.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitlab/ci/jobs/doc/documentation.yml b/.gitlab/ci/jobs/doc/documentation.yml index 980ae966aeac..59c1cd05a60a 100644 --- a/.gitlab/ci/jobs/doc/documentation.yml +++ b/.gitlab/ci/jobs/doc/documentation.yml @@ -10,13 +10,12 @@ - .needs__trigger - .rules__octez_docs_changes stage: doc - before_script: - - eval $(opam env) - - . $HOME/.venv/bin/activate documentation:odoc: extends: - .doc_job_template + before_script: + - eval $(opam env) script: - make -C docs odoc-lite artifacts: @@ -27,6 +26,8 @@ documentation:odoc: documentation:manuals: extends: - .doc_job_template + before_script: + - eval $(opam env) script: - ./.gitlab/ci/jobs/doc/documentation:manuals.sh artifacts: @@ -40,6 +41,8 @@ documentation:manuals: documentation:docgen: extends: - .doc_job_template + before_script: + - eval $(opam env) script: - make -C docs -j docexes-gen artifacts: @@ -62,6 +65,9 @@ documentation:build_all: - documentation:odoc - documentation:manuals - documentation:docgen + before_script: + - eval $(opam env) + - . $HOME/.venv/bin/activate script: - make -C docs -j sphinx artifacts: -- GitLab From 8a41705fa2bd0fb30ea49546377b0aa6edd8227b Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:12:03 +0100 Subject: [PATCH 41/54] CI: generate [documentation.yml] --- .gitlab/ci/jobs/doc/documentation.yml | 169 ++++++++++++++++++-------- ci/bin/main.ml | 87 +++++++++++++ 2 files changed, 204 insertions(+), 52 deletions(-) diff --git a/.gitlab/ci/jobs/doc/documentation.yml b/.gitlab/ci/jobs/doc/documentation.yml index 59c1cd05a60a..1ab2cffb5eb4 100644 --- a/.gitlab/ci/jobs/doc/documentation.yml +++ b/.gitlab/ci/jobs/doc/documentation.yml @@ -1,78 +1,143 @@ -# Warning: the documentation:linkcheck job must have at least the same -# restrictions in the rules as documentation:build_all, otherwise the CI -# may complain that documentation:linkcheck depends on documentation:build_all -# which does not exist. -.doc_job_template: - extends: - - .default_settings_template - - .image_template__runtime_build_test_dependencies - - .tags_template__build - - .needs__trigger - - .rules__octez_docs_changes - stage: doc +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. documentation:odoc: - extends: - - .doc_job_template + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] before_script: - - eval $(opam env) + - eval $(opam env) script: - - make -C docs odoc-lite + - make -C docs odoc-lite artifacts: - paths: - - docs/_build/api/odoc/ expire_in: 1 hour + paths: + - docs/_build/api/odoc/ documentation:manuals: - extends: - - .doc_job_template + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] before_script: - - eval $(opam env) + - eval $(opam env) script: - - ./.gitlab/ci/jobs/doc/documentation:manuals.sh + - ./.gitlab/ci/jobs/doc/documentation:manuals.sh artifacts: - paths: - - docs/*/octez-*.html - - docs/api/octez-*.txt - - docs/developer/metrics.csv - - docs/user/node-config.json expire_in: 1 hour + paths: + - docs/*/octez-*.html + - docs/api/octez-*.txt + - docs/developer/metrics.csv + - docs/user/node-config.json documentation:docgen: - extends: - - .doc_job_template + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] before_script: - - eval $(opam env) + - eval $(opam env) script: - - make -C docs -j docexes-gen + - make -C docs -j docexes-gen artifacts: - paths: - - docs/alpha/rpc.rst - - docs/shell/rpc.rst - - docs/user/default-acl.json - - docs/api/errors.rst - - docs/shell/p2p_api.rst expire_in: 1 hour + 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: - extends: - - .doc_job_template + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success needs: - - documentation:odoc - - documentation:manuals - - documentation:docgen + - documentation:odoc + - documentation:manuals + - documentation:docgen dependencies: - - documentation:odoc - - documentation:manuals - - documentation:docgen + - documentation:odoc + - documentation:manuals + - documentation:docgen before_script: - - eval $(opam env) - - . $HOME/.venv/bin/activate + - eval $(opam env) + - . $HOME/.venv/bin/activate script: - - make -C docs -j sphinx + - make -C docs -j sphinx artifacts: - expose_as: 'Documentation - excluding old protocols' - paths: - # Path must be terminated with / to expose artifact (gitlab-org/gitlab#/36706) - - docs/_build/ expire_in: 1 week + paths: + - docs/_build/ + expose_as: Documentation - excluding old protocols diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 1c24936a8a25..7a43c942c67a 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1648,6 +1648,93 @@ let _job_tezt_flaky_schedule_extended_test : tezos_job = ~job_tezt_fetch_records |> job_external ~filename_suffix:"schedule_extended_test" +(** {2 Documentation jobs} *) + +let _jobs_documentation : tezos_job list = + let rules = [job_rule ~changes:changeset_octez_docs ()] in + let job_odoc = + job + ~__POS__ + ~name:"documentation:odoc" + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.doc + ~rules + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script:(before_script ~eval_opam:true []) + ~artifacts: + (artifacts + ~expire_in:(Hours 1) + (* Path must be terminated with / to expose artifact (gitlab-org/gitlab#/36706) *) + ["docs/_build/api/odoc/"]) + ["make -C docs odoc-lite"] + in + let job_manuals = + job + ~__POS__ + ~name:"documentation:manuals" + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.doc + ~rules + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script:(before_script ~eval_opam:true []) + ~artifacts: + (artifacts + ~expire_in:(Hours 1) + [ + "docs/*/octez-*.html"; + "docs/api/octez-*.txt"; + "docs/developer/metrics.csv"; + "docs/user/node-config.json"; + ]) + ["./.gitlab/ci/jobs/doc/documentation:manuals.sh"] + in + let job_docgen = + job + ~__POS__ + ~name:"documentation:docgen" + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.doc + ~rules + ~dependencies:(Dependent [Optional job_trigger]) + ~before_script:(before_script ~eval_opam:true []) + ~artifacts: + (artifacts + ~expire_in:(Hours 1) + [ + "docs/alpha/rpc.rst"; + "docs/shell/rpc.rst"; + "docs/user/default-acl.json"; + "docs/api/errors.rst"; + "docs/shell/p2p_api.rst"; + ]) + ["make -C docs -j docexes-gen"] + in + let job_build_all = + job + ~__POS__ + ~name:"documentation:build_all" + ~image:Images.runtime_build_test_dependencies + ~stage:Stages.doc + (* Warning: the [documentation:linkcheck] job must have at least the same + restrictions in the rules as [documentation:build_all], otherwise the CI + may complain that [documentation:linkcheck] depends on [documentation:build_all] + which does not exist. *) + ~rules + ~dependencies: + (Dependent + [Artifacts job_odoc; Artifacts job_manuals; Artifacts job_docgen]) + ~before_script:(before_script ~eval_opam:true ~init_python_venv:true []) + ~artifacts: + (artifacts + ~expose_as:"Documentation - excluding old protocols" + ~expire_in:(Weeks 1) + (* Path must be terminated with / to expose artifact (gitlab-org/gitlab#/36706) *) + ["docs/_build/"]) + ["make -C docs -j sphinx"] + in + [job_odoc; job_manuals; job_docgen; job_build_all] + |> jobs_external ~path:"doc/documentation.yml" + let job_documentation_linkcheck ~__POS__ ?rules () : tezos_job = job ?rules -- GitLab From 04a21a7e69d1e2b3c8114bc7f13c30c3f70440ac Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:21:33 +0100 Subject: [PATCH 42/54] CI-in-OCaml: rename [job_docker_rust_toolchain_before_merging] This variable should not be underscore since it is in fact used. --- ci/bin/main.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 7a43c942c67a..bf5603e5162a 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -504,7 +504,7 @@ let job_docker_rust_toolchain ?rules ?dependencies ~__POS__ () = []) ["./scripts/ci/docker_rust_toolchain_build.sh"] -let _job_docker_rust_toolchain_before_merging = +let job_docker_rust_toolchain_before_merging = job_docker_rust_toolchain ~__POS__ ~dependencies:(Dependent [Optional job_trigger]) @@ -655,7 +655,7 @@ let _job_docker_amd64_test_manual : Tezos_ci.tezos_job = ~__POS__ ~external_:true (* TODO: see above *) ~dependencies: - (Dependent [Artifacts _job_docker_rust_toolchain_before_merging]) + (Dependent [Artifacts job_docker_rust_toolchain_before_merging]) ~arch:Amd64 Test_manual @@ -664,7 +664,7 @@ let _job_docker_arm64_test_manual : Tezos_ci.tezos_job = ~__POS__ ~external_:true (* TODO: see above *) ~dependencies: - (Dependent [Artifacts _job_docker_rust_toolchain_before_merging]) + (Dependent [Artifacts job_docker_rust_toolchain_before_merging]) ~arch:Arm64 Test_manual -- GitLab From f160439f6604c2651ca24b607d7a7e97d2412463 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:22:19 +0100 Subject: [PATCH 43/54] CI: generate [test_kernels] --- .gitlab/ci/jobs/test/test_kernels.yml | 41 +++++++++++++++++---------- ci/bin/main.ml | 31 ++++++++++++++++++++ 2 files changed, 57 insertions(+), 15 deletions(-) diff --git a/.gitlab/ci/jobs/test/test_kernels.yml b/.gitlab/ci/jobs/test/test_kernels.yml index 74c56c70a0cb..b764970b0d21 100644 --- a/.gitlab/ci/jobs/test/test_kernels.yml +++ b/.gitlab/ci/jobs/test/test_kernels.yml @@ -1,21 +1,32 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + test_kernels: - extends: - - .oc.kernels_template + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} stage: test - script: - - make -f kernels.mk check - - make -f kernels.mk test + tags: + - gcp rules: - - changes: - - .gitlab-ci.yml - # Run if the `rust-toolchain` image is updated - - images/**/* - - kernels.mk - - src/kernel_*/**/* - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + - changes: + - .gitlab-ci.yml + - images/**/* + - kernels.mk + - src/kernel_*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain cache: key: kernels paths: - - cargo/ + - cargo/ + script: + - make -f kernels.mk check + - make -f kernels.mk test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl diff --git a/ci/bin/main.ml b/ci/bin/main.ml index bf5603e5162a..00b7bad8316e 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2451,6 +2451,37 @@ let _jobs_tezt = tezt_static_binaries; ] +let changeset_test_kernels = + [ + ".gitlab-ci.yml"; + (* Run if the [rust-toolchain] image is updated *) + "images/**/*"; + "kernels.mk"; + "src/kernel_*/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let job_test_kernels ?rules ~__POS__ ~job_docker_rust_toolchain () : tezos_job = + job + ?rules + ~__POS__ + ~name:"test_kernels" + ~image:Images.rust_toolchain + ~stage:Stages.test + ~dependencies:(Dependent [Artifacts job_docker_rust_toolchain]) + ["make -f kernels.mk check"; "make -f kernels.mk test"] + ~cache:[{key = "kernels"; paths = ["cargo/"]}] + |> enable_kernels + +let _job_test_kernels : tezos_job = + job_test_kernels + ~__POS__ + ~rules:[job_rule ~changes:changeset_test_kernels ()] + ~job_docker_rust_toolchain:job_docker_rust_toolchain_before_merging + () + |> job_external + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From d8d1b74ac87da9abae174dcacc695850b294ffba Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 24 Jan 2024 18:27:57 +0100 Subject: [PATCH 44/54] CI: remove coverage information from [tezt-flaky] We do not run this job by default on [before_merging] pipelines, and we do not collect produce coverage reports on [scheduled_extended_test] pipelines. Therefore, there is no point in collecting coverage artifacts from this job. --- .gitlab/ci/jobs/test/tezt-flaky-before_merging.yml | 3 --- .gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml | 3 --- ci/bin/main.ml | 1 - 3 files changed, 7 deletions(-) diff --git a/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml b/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml index dc26605152d3..d33a304e3946 100644 --- a/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml +++ b/.gitlab/ci/jobs/test/tezt-flaky-before_merging.yml @@ -49,9 +49,7 @@ tezt-flaky: TESTS: /ci_disabled /memory_3k /memory_4k /slow /time_sensitive flaky TEZT_RETRY: "3" TEZT_PARALLEL: "1" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ artifacts: - name: coverage-files-$CI_JOB_ID expire_in: 7 days paths: - selected_tezts.tsv @@ -59,7 +57,6 @@ tezt-flaky: - tezt-*.log - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - $JUNIT - - $BISECT_FILE reports: junit: $JUNIT when: always diff --git a/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml b/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml index c457ec28730b..b515653efd95 100644 --- a/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml @@ -48,9 +48,7 @@ tezt-flaky: TESTS: /ci_disabled /memory_3k /memory_4k /slow /time_sensitive flaky TEZT_RETRY: "3" TEZT_PARALLEL: "1" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ artifacts: - name: coverage-files-$CI_JOB_ID expire_in: 7 days paths: - selected_tezts.tsv @@ -58,7 +56,6 @@ tezt-flaky: - tezt-*.log - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - $JUNIT - - $BISECT_FILE reports: junit: $JUNIT when: always diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 00b7bad8316e..54ef4c9ae624 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1624,7 +1624,6 @@ let job_tezt_flaky ~__POS__ ~rules ~job_select_tezts ~job_build_x86_64_release Artifacts job_tezt_fetch_records; ]) () - |> enable_coverage_output_artifact let _job_tezt_flaky_before_merging : tezos_job = job_tezt_flaky -- GitLab From 810eca822c9a0e27e6a9aca71a5c0b5fb688fa18 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:41:15 +0100 Subject: [PATCH 45/54] CI: generate [tezt-slow] --- .../ci/jobs/test/tezt-slow-before_merging.yml | 69 +++++++++++++++++-- .../test/tezt-slow-schedule_extended_test.yml | 67 +++++++++++++++++- ci/bin/main.ml | 49 +++++++++++++ 3 files changed, 178 insertions(+), 7 deletions(-) diff --git a/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml b/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml index 4e9695004a1c..c6603d680166 100644 --- a/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml +++ b/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml @@ -1,6 +1,67 @@ -include: .gitlab/ci/jobs/test/tezt-slow.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. tezt-slow: - extends: - - .tezt-slow - - .rules__octez_changes_manual + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: manual + allow_failure: true + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -slow + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /time_sensitive slow + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 10 diff --git a/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml b/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml index 26b845b05596..74139413df01 100644 --- a/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml @@ -1,5 +1,66 @@ -include: .gitlab/ci/jobs/test/tezt-slow.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. tezt-slow: - extends: - - .tezt-slow + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -slow + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /time_sensitive slow + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 10 diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 54ef4c9ae624..d9ae6d9a4f72 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1647,6 +1647,55 @@ let _job_tezt_flaky_schedule_extended_test : tezos_job = ~job_tezt_fetch_records |> job_external ~filename_suffix:"schedule_extended_test" +let job_tezt_slow ~__POS__ ~rules ~job_select_tezts ~job_build_x86_64_release + ~job_build_x86_64_exp_dev_extra ~job_build_kernels ~job_tezt_fetch_records : + tezos_job = + job_tezt + ~__POS__ + ~name:"tezt-slow" + ~rules + ~tezt_tests:(tezt_tests ["slow"]) + ~tezt_variant:"-slow" + (* To handle flakiness, consider tweaking [~tezt_parallel] (passed to + Tezt's '--job-count'), and [~tezt_retry] (passed to Tezt's + '--retry') *) + ~retry:2 + ~tezt_parallel:3 + ~parallel:10 + ~dependencies: + (Dependent + [ + Artifacts job_select_tezts; + Artifacts job_build_x86_64_release; + Artifacts job_build_x86_64_exp_dev_extra; + Artifacts job_build_kernels; + Artifacts job_tezt_fetch_records; + ]) + () + |> enable_coverage_output_artifact + +let _job_tezt_slow_before_merging : tezos_job = + job_tezt_slow + ~__POS__ + ~rules:[job_rule ~changes:changeset_octez ~when_:Manual ()] + ~job_select_tezts + ~job_build_x86_64_release + ~job_build_x86_64_exp_dev_extra + ~job_build_kernels + ~job_tezt_fetch_records + |> job_external ~filename_suffix:"before_merging" + +let _job_tezt_slow_schedule_extended_test : tezos_job = + job_tezt_slow + ~__POS__ + ~rules:[job_rule ~changes:changeset_octez ~when_:On_success ()] + ~job_select_tezts + ~job_build_x86_64_release + ~job_build_x86_64_exp_dev_extra + ~job_build_kernels + ~job_tezt_fetch_records + |> job_external ~filename_suffix:"schedule_extended_test" + (** {2 Documentation jobs} *) let _jobs_documentation : tezos_job list = -- GitLab From 11cdcf0ef80da2fb2b7cd7eeba26010b3ed5b7a5 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:41:36 +0100 Subject: [PATCH 46/54] CI: remove coverage output artifacts from [tezt-slow] We do not run this job by default on [before_merging] pipelines, and we do not collect produce coverage reports on [scheduled_extended_test] pipelines. Therefore, there is no point in collecting coverage artifacts from this job. --- .gitlab/ci/jobs/test/tezt-slow-before_merging.yml | 3 --- .gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml | 3 --- ci/bin/main.ml | 1 - 3 files changed, 7 deletions(-) diff --git a/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml b/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml index c6603d680166..21eb9b2f1b42 100644 --- a/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml +++ b/.gitlab/ci/jobs/test/tezt-slow-before_merging.yml @@ -49,9 +49,7 @@ tezt-slow: TESTS: /ci_disabled /flaky /memory_3k /memory_4k /time_sensitive slow TEZT_RETRY: "1" TEZT_PARALLEL: "3" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ artifacts: - name: coverage-files-$CI_JOB_ID expire_in: 7 days paths: - selected_tezts.tsv @@ -59,7 +57,6 @@ tezt-slow: - tezt-*.log - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - $JUNIT - - $BISECT_FILE reports: junit: $JUNIT when: always diff --git a/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml b/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml index 74139413df01..20fb3830788d 100644 --- a/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml @@ -48,9 +48,7 @@ tezt-slow: TESTS: /ci_disabled /flaky /memory_3k /memory_4k /time_sensitive slow TEZT_RETRY: "1" TEZT_PARALLEL: "3" - BISECT_FILE: $CI_PROJECT_DIR/_coverage_output/ artifacts: - name: coverage-files-$CI_JOB_ID expire_in: 7 days paths: - selected_tezts.tsv @@ -58,7 +56,6 @@ tezt-slow: - tezt-*.log - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json - $JUNIT - - $BISECT_FILE reports: junit: $JUNIT when: always diff --git a/ci/bin/main.ml b/ci/bin/main.ml index d9ae6d9a4f72..f29d976e2029 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1672,7 +1672,6 @@ let job_tezt_slow ~__POS__ ~rules ~job_select_tezts ~job_build_x86_64_release Artifacts job_tezt_fetch_records; ]) () - |> enable_coverage_output_artifact let _job_tezt_slow_before_merging : tezos_job = job_tezt_slow -- GitLab From 5ed803eeb43f73e07f875da8657a3390d1d2fde6 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:31:04 +0100 Subject: [PATCH 47/54] CI: generate [unified_coverage-before_merging] --- .../oc.unified_coverage-before_merging.yml | 201 +++++++++--------- ci/bin/main.ml | 40 +++- 2 files changed, 143 insertions(+), 98 deletions(-) diff --git a/.gitlab/ci/jobs/coverage/oc.unified_coverage-before_merging.yml b/.gitlab/ci/jobs/coverage/oc.unified_coverage-before_merging.yml index ed7104fe12ee..a292025bb2c9 100644 --- a/.gitlab/ci/jobs/coverage/oc.unified_coverage-before_merging.yml +++ b/.gitlab/ci/jobs/coverage/oc.unified_coverage-before_merging.yml @@ -1,101 +1,110 @@ ---- -# This job fetches coverage files by precedent test stage. It creates the html, -# summary and cobertura reports. It also provide a coverage % for the merge request. - -include: .gitlab/ci/jobs/coverage/common.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. oc.unified_coverage: - extends: - - .default_settings_template - - .image_template__runtime_e2etest_dependencies - - .oc.template__coverage_report - # We do not run this job when margebot triggers the - # pipeline. Instead, the coverage traces are downloaded in the - # master pipeline and the report is computed there. - - .rules__octez_changes_and_not_margebot - variables: - # This inhibites the Makefile's opam version check, which this - # job's opam-less image cannot pass. - TEZOS_WITHOUT_OPAM: "true" - # This job requires all bisect_ppx artifacts from the stage test, so we override - # the `dependencies: []` in `.default_settings` with a list of jobs. - # Each new job in the stage test needs to be manually added to this list. - # /!\ Warning: this list is read by `scripts/ci/download_coverage/download.ml`. - # The 'dependencies' field must be followed directly by the 'script' field. + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test_coverage + tags: + - gcp + rules: + - if: $GITLAB_USER_LOGIN == "nomadic-margebot" + when: never + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success dependencies: - - "tezt 1/60" - - "tezt 2/60" - - "tezt 3/60" - - "tezt 4/60" - - "tezt 5/60" - - "tezt 6/60" - - "tezt 7/60" - - "tezt 8/60" - - "tezt 9/60" - - "tezt 10/60" - - "tezt 11/60" - - "tezt 12/60" - - "tezt 13/60" - - "tezt 14/60" - - "tezt 15/60" - - "tezt 16/60" - - "tezt 17/60" - - "tezt 18/60" - - "tezt 19/60" - - "tezt 20/60" - - "tezt 21/60" - - "tezt 22/60" - - "tezt 23/60" - - "tezt 24/60" - - "tezt 25/60" - - "tezt 26/60" - - "tezt 27/60" - - "tezt 28/60" - - "tezt 29/60" - - "tezt 30/60" - - "tezt 31/60" - - "tezt 32/60" - - "tezt 33/60" - - "tezt 34/60" - - "tezt 35/60" - - "tezt 36/60" - - "tezt 37/60" - - "tezt 38/60" - - "tezt 39/60" - - "tezt 40/60" - - "tezt 41/60" - - "tezt 42/60" - - "tezt 43/60" - - "tezt 44/60" - - "tezt 45/60" - - "tezt 46/60" - - "tezt 47/60" - - "tezt 48/60" - - "tezt 49/60" - - "tezt 50/60" - - "tezt 51/60" - - "tezt 52/60" - - "tezt 53/60" - - "tezt 54/60" - - "tezt 55/60" - - "tezt 56/60" - - "tezt 57/60" - - "tezt 58/60" - - "tezt 59/60" - - "tezt 60/60" - - "tezt-memory-4k 1/4" - - "tezt-memory-4k 2/4" - - "tezt-memory-4k 3/4" - - "tezt-memory-4k 4/4" - - "tezt-memory-3k" - - "tezt-time-sensitive" - - "oc.unit:non-proto-x86_64" - - "oc.unit:proto-x86_64" - - "oc.unit:other-x86_64" - script: - # On the development branches, we compute coverage. - # TODO: https://gitlab.com/tezos/tezos/-/issues/6173 - # We propagate the exit code to temporarily allow corrupted coverage files. - - ./scripts/ci/report_coverage.sh || exit $? + - oc.unit:non-proto-x86_64 + - oc.unit:other-x86_64 + - oc.unit:proto-x86_64 + - tezt 1/60 + - tezt 2/60 + - tezt 3/60 + - tezt 4/60 + - tezt 5/60 + - tezt 6/60 + - tezt 7/60 + - tezt 8/60 + - tezt 9/60 + - tezt 10/60 + - tezt 11/60 + - tezt 12/60 + - tezt 13/60 + - tezt 14/60 + - tezt 15/60 + - tezt 16/60 + - tezt 17/60 + - tezt 18/60 + - tezt 19/60 + - tezt 20/60 + - tezt 21/60 + - tezt 22/60 + - tezt 23/60 + - tezt 24/60 + - tezt 25/60 + - tezt 26/60 + - tezt 27/60 + - tezt 28/60 + - tezt 29/60 + - tezt 30/60 + - tezt 31/60 + - tezt 32/60 + - tezt 33/60 + - tezt 34/60 + - tezt 35/60 + - tezt 36/60 + - tezt 37/60 + - tezt 38/60 + - tezt 39/60 + - tezt 40/60 + - tezt 41/60 + - tezt 42/60 + - tezt 43/60 + - tezt 44/60 + - tezt 45/60 + - tezt 46/60 + - tezt 47/60 + - tezt 48/60 + - tezt 49/60 + - tezt 50/60 + - tezt 51/60 + - tezt 52/60 + - tezt 53/60 + - tezt 54/60 + - tezt 55/60 + - tezt 56/60 + - tezt 57/60 + - tezt 58/60 + - tezt 59/60 + - tezt 60/60 + - tezt-memory-4k 1/4 + - tezt-memory-4k 2/4 + - tezt-memory-4k 3/4 + - tezt-memory-4k 4/4 + - tezt-memory-3k + - tezt-time-sensitive allow_failure: exit_codes: 64 + 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: ([^%]+%)/' diff --git a/ci/bin/main.ml b/ci/bin/main.ml index f29d976e2029..3991461058bf 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -284,6 +284,11 @@ let enable_sccache ?(sccache_dir = "$CI_PROJECT_DIR/_sccache") : Tezos_ci.append_variables [("SCCACHE_DIR", sccache_dir); ("RUSTC_WRAPPER", "sccache")] +(* TODO: this will not work very well -- for instance if we had + several different pipeline types that both produce and report + coverage information, but for which the set of test jobs differs. *) +let jobs_with_coverage_output : tezos_job list ref = ref [] + (** Add variables for bisect_ppx output and store the traces as an artifact. @@ -291,6 +296,7 @@ let enable_sccache ?(sccache_dir = "$CI_PROJECT_DIR/_sccache") : let enable_coverage_output_artifact ?(expire_in = Days 1) : tezos_job -> tezos_job = fun job -> + jobs_with_coverage_output := job :: !jobs_with_coverage_output ; job |> enable_coverage_location |> Tezos_ci.add_artifacts ~expire_in @@ -2418,8 +2424,6 @@ let _jobs_tezt = job_tezt ~__POS__ ~name:"tezt" - (* Exclude tests with tags 'ci_disabled', 'flaky' and `memory_{3,4}k`. - See tezt/lib_tezos/tag.mli for more information. *) ~tezt_tests:(tezt_tests []) ~tezt_parallel:3 ~parallel:60 @@ -2529,6 +2533,38 @@ let _job_test_kernels : tezos_job = () |> job_external +(* This job fetches coverage files by precedent test stage. It creates + the html, summary and cobertura reports. It also provide a coverage % + for the merge request. *) +let _job_unified_coverage_before_merging : tezos_job = + let dependencies = List.rev !jobs_with_coverage_output in + job + ~__POS__ + ~image:Images.runtime_e2etest_dependencies + ~name:"oc.unified_coverage" + ~stage:Stages.test_coverage + ~coverage:"/Coverage: ([^%]+%)/" + ~rules: + [ + job_rule ~if_:Rules.triggered_by_marge_bot ~when_:Never (); + job_rule ~changes:changeset_octez (); + ] + ~variables: + [ + (* This inhibites the Makefile's opam version check, which + this job's opam-less image + ([runtime_e2etest_dependencies]) cannot pass. *) + ("TEZOS_WITHOUT_OPAM", "true"); + ] + ~dependencies:(Staged dependencies) + (* On the development branches, we compute coverage. + TODO: https://gitlab.com/tezos/tezos/-/issues/6173 + We propagate the exit code to temporarily allow corrupted coverage files. *) + ["./scripts/ci/report_coverage.sh || exit $?"] + ~allow_failure:(With_exit_codes [64]) + |> enable_coverage_location |> enable_coverage_report + |> job_external ~directory:"coverage" ~filename_suffix:"before_merging" + (* Register pipelines types. Pipelines types are used to generate workflow rules and includes of the files where the jobs of the pipeline is defined. At the moment, all these pipelines are defined -- GitLab From 77b262e951b40a3d343061a615bb4a90a3ac640f Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:52:18 +0100 Subject: [PATCH 48/54] CI: generate [test_etherlink_kernel] --- .../test_etherlink_kernel-before_merging.yml | 41 ++++++++++++----- ...therlink_kernel-schedule_extended_test.yml | 38 +++++++++++++++- ci/bin/main.ml | 45 +++++++++++++++++++ 3 files changed, 111 insertions(+), 13 deletions(-) diff --git a/.gitlab/ci/jobs/test/test_etherlink_kernel-before_merging.yml b/.gitlab/ci/jobs/test/test_etherlink_kernel-before_merging.yml index 90c524da8892..4db0b7e34ead 100644 --- a/.gitlab/ci/jobs/test/test_etherlink_kernel-before_merging.yml +++ b/.gitlab/ci/jobs/test/test_etherlink_kernel-before_merging.yml @@ -1,13 +1,32 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + test_etherlink_kernel: - extends: - - .test_etherlink_kernel + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp rules: - - changes: - # Run if the `rust-toolchain` image is updated - - images/**/* - - etherlink.mk - - etherlink/kernel_evm/**/* - - src/kernel_sdk/**/* - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + - changes: + - images/**/* + - etherlink.mk + - etherlink/kernel_evm/**/* + - src/kernel_sdk/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -f etherlink.mk check + - make -f etherlink.mk test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl diff --git a/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml b/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml index 20bcfcae0f53..72f5be63ab9d 100644 --- a/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml @@ -1,3 +1,37 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + test_etherlink_kernel: - extends: - - .test_etherlink_kernel + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp + rules: + - changes: + - images/**/* + - scripts/ci/**/* + - kernels.mk + - etherlink.mk + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -f etherlink.mk check + - make -f etherlink.mk test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 3991461058bf..75c44fb581da 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1703,6 +1703,10 @@ let _job_tezt_slow_schedule_extended_test : tezos_job = (** {2 Documentation jobs} *) +(* TODO: + - test_etherlink_kernel + - test_risc_v_kernels *) + let _jobs_documentation : tezos_job list = let rules = [job_rule ~changes:changeset_octez_docs ()] in let job_odoc = @@ -2533,6 +2537,47 @@ let _job_test_kernels : tezos_job = () |> job_external +let changeset_test_etherlink_kernel = + [ + (* Run if the [rust-toolchain] image is updated *) + "images/**/*"; + "etherlink.mk"; + "etherlink/kernel_evm/**/*"; + "src/kernel_sdk/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let job_test_etherlink_kernel ?rules ~__POS__ ~job_docker_rust_toolchain () : + tezos_job = + job + ?rules + ~__POS__ + ~name:"test_etherlink_kernel" + ~image:Images.rust_toolchain + ~stage:Stages.test + ~dependencies:(Dependent [Artifacts job_docker_rust_toolchain]) + ["make -f etherlink.mk check"; "make -f etherlink.mk test"] + ~cache:[{key = "kernels"; paths = ["cargo/"]}] + |> enable_kernels + +let _job_test_etherlink_kernel_before_merging : tezos_job = + job_test_etherlink_kernel + ~__POS__ + ~rules:[job_rule ~changes:changeset_test_etherlink_kernel ()] + ~job_docker_rust_toolchain:job_docker_rust_toolchain_before_merging + () + |> job_external ~filename_suffix:"before_merging" + +let _job_test_etherlink_kernel_schedule_extended_test : tezos_job = + job_test_etherlink_kernel + ~__POS__ + (* Note: this rule doesn't make sense and is removed in the next commit. *) + ~rules:[job_rule ~changes:changeset_octez_or_kernels ()] + ~job_docker_rust_toolchain:job_docker_rust_toolchain_other + () + |> job_external ~filename_suffix:"schedule_extended_test" + (* This job fetches coverage files by precedent test stage. It creates the html, summary and cobertura reports. It also provide a coverage % for the merge request. *) -- GitLab From 15d6291d59fa9767d30da2a06ac84f77db8373ff Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:52:42 +0100 Subject: [PATCH 49/54] CI: make job [test_etherlink_kernel] unconditional in schedule --- ...est_etherlink_kernel-schedule_extended_test.yml | 14 -------------- ci/bin/main.ml | 2 -- 2 files changed, 16 deletions(-) diff --git a/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml b/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml index 72f5be63ab9d..5592546edb2e 100644 --- a/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml @@ -6,20 +6,6 @@ test_etherlink_kernel: stage: test tags: - gcp - rules: - - changes: - - images/**/* - - scripts/ci/**/* - - kernels.mk - - etherlink.mk - - src/**/* - - etherlink/**/* - - tezt/**/* - - .gitlab/**/* - - .gitlab-ci.yml - - michelson_test_scripts/**/* - - tzt_reference_test_suite/**/* - when: on_success needs: - oc.docker:rust-toolchain dependencies: diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 75c44fb581da..a030113071ee 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2572,8 +2572,6 @@ let _job_test_etherlink_kernel_before_merging : tezos_job = let _job_test_etherlink_kernel_schedule_extended_test : tezos_job = job_test_etherlink_kernel ~__POS__ - (* Note: this rule doesn't make sense and is removed in the next commit. *) - ~rules:[job_rule ~changes:changeset_octez_or_kernels ()] ~job_docker_rust_toolchain:job_docker_rust_toolchain_other () |> job_external ~filename_suffix:"schedule_extended_test" -- GitLab From 28ab485a697987366220652b9df6ea2995366fb6 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:56:26 +0100 Subject: [PATCH 50/54] CI: generate [test_risc_v_kernels] --- .../test_risc_v_kernels-before_merging.yml | 41 +++++++++++++----- ..._risc_v_kernels-schedule_extended_test.yml | 38 ++++++++++++++++- ci/bin/main.ml | 42 +++++++++++++++++++ 3 files changed, 108 insertions(+), 13 deletions(-) diff --git a/.gitlab/ci/jobs/test/test_risc_v_kernels-before_merging.yml b/.gitlab/ci/jobs/test/test_risc_v_kernels-before_merging.yml index 00ab80e833a5..9950ad17967f 100644 --- a/.gitlab/ci/jobs/test/test_risc_v_kernels-before_merging.yml +++ b/.gitlab/ci/jobs/test/test_risc_v_kernels-before_merging.yml @@ -1,13 +1,32 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + test_risc_v_kernels: - extends: - - .test_risc_v_kernels + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp rules: - - changes: - # Run if the `rust-toolchain` image is updated - - images/**/* - - src/kernel_sdk/**/* - - src/risc_v/Makefile - - src/risc_v/**/* - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + - changes: + - images/**/* + - src/kernel_sdk/**/* + - src/risc_v/Makefile + - src/risc_v/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -C src/risc_v check + - make -C src/risc_v test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl diff --git a/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml b/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml index 3c188301dba4..1ae37784b1fc 100644 --- a/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml @@ -1,3 +1,37 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + test_risc_v_kernels: - extends: - - .test_risc_v_kernels + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp + rules: + - changes: + - images/**/* + - scripts/ci/**/* + - kernels.mk + - etherlink.mk + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -C src/risc_v check + - make -C src/risc_v test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl diff --git a/ci/bin/main.ml b/ci/bin/main.ml index a030113071ee..03953b2ed196 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2576,6 +2576,48 @@ let _job_test_etherlink_kernel_schedule_extended_test : tezos_job = () |> job_external ~filename_suffix:"schedule_extended_test" +let changeset_test_risc_v_kernels = + [ + (* Run if the [rust-toolchain] image is updated *) + "images/**/*"; + "src/kernel_sdk/**/*"; + (* Note: the following line is redundant w.r.t. the one that follows *) + "src/risc_v/Makefile"; + "src/risc_v/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let job_test_risc_v_kernels ?rules ~__POS__ ~job_docker_rust_toolchain () : + tezos_job = + job + ?rules + ~__POS__ + ~name:"test_risc_v_kernels" + ~image:Images.rust_toolchain + ~stage:Stages.test + ~dependencies:(Dependent [Artifacts job_docker_rust_toolchain]) + ["make -C src/risc_v check"; "make -C src/risc_v test"] + ~cache:[{key = "kernels"; paths = ["cargo/"]}] + |> enable_kernels + +let _job_test_risc_v_kernels_before_merging : tezos_job = + job_test_risc_v_kernels + ~__POS__ + ~rules:[job_rule ~changes:changeset_test_risc_v_kernels ()] + ~job_docker_rust_toolchain:job_docker_rust_toolchain_before_merging + () + |> job_external ~filename_suffix:"before_merging" + +let _job_test_risc_v_kernels_schedule_extended_test : tezos_job = + job_test_risc_v_kernels + ~__POS__ + (* Note: this rule doesn't make sense and is removed in the next commit. *) + ~rules:[job_rule ~changes:changeset_octez_or_kernels ()] + ~job_docker_rust_toolchain:job_docker_rust_toolchain_other + () + |> job_external ~filename_suffix:"schedule_extended_test" + (* This job fetches coverage files by precedent test stage. It creates the html, summary and cobertura reports. It also provide a coverage % for the merge request. *) -- GitLab From 8c50493be4fdaaceb3c37ee71c9d6839c3d75f5d Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 6 Mar 2024 14:57:03 +0100 Subject: [PATCH 51/54] CI: make job [test_risc_v_kernels] unconditional in schedule --- .../test_risc_v_kernels-schedule_extended_test.yml | 14 -------------- ci/bin/main.ml | 6 ------ 2 files changed, 20 deletions(-) diff --git a/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml b/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml index 1ae37784b1fc..08f30f383072 100644 --- a/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml +++ b/.gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml @@ -6,20 +6,6 @@ test_risc_v_kernels: stage: test tags: - gcp - rules: - - changes: - - images/**/* - - scripts/ci/**/* - - kernels.mk - - etherlink.mk - - src/**/* - - etherlink/**/* - - tezt/**/* - - .gitlab/**/* - - .gitlab-ci.yml - - michelson_test_scripts/**/* - - tzt_reference_test_suite/**/* - when: on_success needs: - oc.docker:rust-toolchain dependencies: diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 03953b2ed196..4c539972e913 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -1703,10 +1703,6 @@ let _job_tezt_slow_schedule_extended_test : tezos_job = (** {2 Documentation jobs} *) -(* TODO: - - test_etherlink_kernel - - test_risc_v_kernels *) - let _jobs_documentation : tezos_job list = let rules = [job_rule ~changes:changeset_octez_docs ()] in let job_odoc = @@ -2612,8 +2608,6 @@ let _job_test_risc_v_kernels_before_merging : tezos_job = let _job_test_risc_v_kernels_schedule_extended_test : tezos_job = job_test_risc_v_kernels ~__POS__ - (* Note: this rule doesn't make sense and is removed in the next commit. *) - ~rules:[job_rule ~changes:changeset_octez_or_kernels ()] ~job_docker_rust_toolchain:job_docker_rust_toolchain_other () |> job_external ~filename_suffix:"schedule_extended_test" -- GitLab From 20f24951abcbb737f0364b2efed48110dfb8eccb Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 7 Mar 2024 17:42:33 +0100 Subject: [PATCH 52/54] CI: refactor, remove duplicated path --- .gitlab/ci/jobs/test/test_evm_compatibility.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab/ci/jobs/test/test_evm_compatibility.yml b/.gitlab/ci/jobs/test/test_evm_compatibility.yml index 97feb0ed2623..4f1bc5c48dc0 100644 --- a/.gitlab/ci/jobs/test/test_evm_compatibility.yml +++ b/.gitlab/ci/jobs/test/test_evm_compatibility.yml @@ -8,7 +8,6 @@ test_evm_compatibility: - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_evm/evm_evaluation/resources/ -c rules: - changes: - - .gitlab-ci.yml # Run if the `rust-toolchain` image is updated - images/**/* - etherlink.mk -- GitLab From 5cea273ceb967719a47b6756ba82d94baa8bcfa2 Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 7 Mar 2024 17:47:07 +0100 Subject: [PATCH 53/54] CI: generate [test_evm_compatibility] --- .../ci/jobs/test/test_evm_compatibility.yml | 44 ++++++++++++------- ci/bin/main.ml | 40 +++++++++++++++++ 2 files changed, 68 insertions(+), 16 deletions(-) diff --git a/.gitlab/ci/jobs/test/test_evm_compatibility.yml b/.gitlab/ci/jobs/test/test_evm_compatibility.yml index 4f1bc5c48dc0..e9ed99d9de3a 100644 --- a/.gitlab/ci/jobs/test/test_evm_compatibility.yml +++ b/.gitlab/ci/jobs/test/test_evm_compatibility.yml @@ -1,22 +1,34 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + test_evm_compatibility: - extends: - - .oc.kernels_template + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} stage: test - script: - - make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs evm-evaluation-assessor - - git clone --depth 1 --branch v13 https://github.com/ethereum/tests ethereum_tests - - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_evm/evm_evaluation/resources/ -c + tags: + - gcp rules: - - changes: - # Run if the `rust-toolchain` image is updated - - images/**/* - - etherlink.mk - - etherlink/kernel_evm/evm_execution/**/* - - etherlink/kernel_evm/evm_evaluation/**/* - - .gitlab/**/* - - .gitlab-ci.yml - when: on_success + - changes: + - images/**/* + - etherlink.mk + - etherlink/kernel_evm/evm_execution/**/* + - etherlink/kernel_evm/evm_evaluation/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain cache: key: kernels paths: - - cargo/ + - cargo/ + script: + - make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs evm-evaluation-assessor + - git clone --depth 1 --branch v13 https://github.com/ethereum/tests ethereum_tests + - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_evm/evm_evaluation/resources/ + -c + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 4c539972e913..21e91f50b638 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -2572,6 +2572,46 @@ let _job_test_etherlink_kernel_schedule_extended_test : tezos_job = () |> job_external ~filename_suffix:"schedule_extended_test" +let changeset_test_evm_compatibility = + [ + (* Run if the [rust-toolchain] image is updated *) + "images/**/*"; + "etherlink.mk"; + "etherlink/kernel_evm/evm_execution/**/*"; + "etherlink/kernel_evm/evm_evaluation/**/*"; + ".gitlab/**/*"; + ".gitlab-ci.yml"; + ] + +let job_test_evm_compatibility ?rules ~__POS__ ~job_docker_rust_toolchain () : + tezos_job = + job + ?rules + ~__POS__ + ~name:"test_evm_compatibility" + ~image:Images.rust_toolchain + ~stage:Stages.test + ~dependencies:(Dependent [Artifacts job_docker_rust_toolchain]) + [ + "make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs \ + evm-evaluation-assessor"; + "git clone --depth 1 --branch v13 https://github.com/ethereum/tests \ + ethereum_tests"; + "./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources \ + ./etherlink/kernel_evm/evm_evaluation/resources/ -c"; + ] + ~cache:[{key = "kernels"; paths = ["cargo/"]}] + |> enable_kernels + +let _job_test_evm_compatibility : tezos_job = + job_test_evm_compatibility + ~__POS__ + (* TODO: change-conditional rules don't make sense in the scheduled pipeline and will be removed in the next commit *) + ~rules:[job_rule ~changes:changeset_test_evm_compatibility ()] + ~job_docker_rust_toolchain:job_docker_rust_toolchain_before_merging + () + |> job_external + let changeset_test_risc_v_kernels = [ (* Run if the [rust-toolchain] image is updated *) -- GitLab From d8d878cf02e099bfe0d746fc0bf7b5830b3ce61b Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Thu, 7 Mar 2024 17:48:34 +0100 Subject: [PATCH 54/54] CI: generate the [schedule_extended_test] pipeline --- .../ci/pipelines/schedule_extended_test.yml | 8056 ++++++++++++++++- ci/bin/main.ml | 112 +- 2 files changed, 8077 insertions(+), 91 deletions(-) diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 2085c08b39c1..83dd3ea58742 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -1,61 +1,7995 @@ -include: - # Stage: sanity - - .gitlab/ci/jobs/sanity/sanity_ci.yml - - .gitlab/ci/jobs/sanity/docker:hadolint-schedule_extended_test.yml - - # Stage: build - - .gitlab/ci/jobs/build/oc.build_arm64-exp-dev-extra.yml - - .gitlab/ci/jobs/build/oc.build_arm64-released.yml - # Check that binary packages build - - .gitlab/ci/jobs/build/oc.build:rpm:amd64.yml - - .gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml - - .gitlab/ci/jobs/build/select_tezts.yml - - # These jobs are necessary to run flaky tezts - - .gitlab/ci/jobs/build/oc.docker:rust-toolchain-other.yml - - .gitlab/ci/jobs/build/oc.docker:client-libs-dependencies-other.yml - - .gitlab/ci/jobs/build/oc.build_x86_64-exp-dev-extra.yml - - .gitlab/ci/jobs/build/oc.build_x86_64-released.yml - - .gitlab/ci/jobs/build/oc.build_kernels.yml - - .gitlab/ci/jobs/build/oc.tezt:fetch-records.yml - - # These jobs may not have been run in before_merging pipeline - # because of absence of certain changes - - .gitlab/ci/jobs/build/ocaml-check.yml - - .gitlab/ci/jobs/build/oc.build:static-x86_64-linux-binaries-experimental.yml - - .gitlab/ci/jobs/doc/documentation.yml - - # Stage: packaging - - .gitlab/ci/jobs/packaging/opam:prepare.yml - - .gitlab/ci/jobs/packaging/opam_package.yml - - # Stage: test - - .gitlab/ci/jobs/test/install_octez.yml - # Flaky tezts - - .gitlab/ci/jobs/test/tezt-flaky-schedule_extended_test.yml - # Slow tezts - - .gitlab/ci/jobs/test/tezt-slow-schedule_extended_test.yml - # Tests that may not have been run in before_merging pipeline - # because of absence of certain changes - - .gitlab/ci/jobs/test/kaitai_checks.yml - - .gitlab/ci/jobs/test/kaitai_e2e_checks.yml - - .gitlab/ci/jobs/test/oc.check_lift_limits_patch.yml - - .gitlab/ci/jobs/test/oc.misc_checks-schedule_extended_test.yml - - .gitlab/ci/jobs/test/misc_opam_checks.yml - - .gitlab/ci/jobs/test/oc.semgrep.yml - - .gitlab/ci/jobs/test/oc.unit.yml - - .gitlab/ci/jobs/test/oc.integration:compiler-rejections.yml - - .gitlab/ci/jobs/test/oc.script:snapshot_alpha_and_link.yml - - .gitlab/ci/jobs/test/oc.script:test-gen-genesis.yml - - .gitlab/ci/jobs/test/oc.script:test_release_versions.yml - - .gitlab/ci/jobs/test/oc.script:b58_prefix.yml - - .gitlab/ci/jobs/test/oc.test-liquidity-baking-scripts.yml - - .gitlab/ci/jobs/test/tezt.yml - - .gitlab/ci/jobs/test/test_kernels.yml - - .gitlab/ci/jobs/test/test_etherlink_kernel-schedule_extended_test.yml - - .gitlab/ci/jobs/test/test_risc_v_kernels-schedule_extended_test.yml - - .gitlab/ci/jobs/test/test_evm_compatibility.yml - - # Stage: doc - - .gitlab/ci/jobs/doc/documentation:linkcheck.yml - - .gitlab/ci/jobs/doc/oc.install_python.yml +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + +sanity_ci: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: sanity + tags: + - gcp + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - eval $(opam env) + script: + - make -C manifest check + - ./scripts/lint.sh --check-gitlab-ci-yml + - ./scripts/ci/check_alpine_version.sh + - make -C ci check + +docker:hadolint-schedule_extended_test: + image: hadolint/hadolint:2.9.3-debian + stage: sanity + tags: + - gcp + dependencies: [] + script: + - hadolint build.Dockerfile + - hadolint Dockerfile + +oc.build_arm64-exp-dev-extra: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp_arm64 + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--arm64(?:$|,)/ + when: on_success + - changes: + - src/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: manual + allow_failure: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/build_full_unreleased.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 + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - 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 + when: on_success + +oc.build_arm64-released: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp_arm64 + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--arm64(?:$|,)/ + when: on_success + - changes: + - src/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: manual + allow_failure: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/build_full_unreleased.sh + variables: + ARCH: arm64 + EXECUTABLE_FILES: script-inputs/released-executables + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - 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 + when: on_success + +oc.build:rpm:amd64: + image: fedora:39 + stage: build + tags: + - gcp + needs: [] + dependencies: [] + before_script: + - . ./scripts/version.sh + - dnf update -y + - dnf install -y libev-devel gmp-devel hidapi-devel libffi-devel zlib-devel libpq-devel + m4 perl git pkg-config rpmdevtools python3-devel python3-setuptools wget opam + rsync which cargo autoconf mock systemd systemd-rpm-macros cmake python3-wheel + python3-tox-current-env gcc-c++ protobuf-compiler protobuf-devel sqlite-devel + jq + script: + - wget https://sh.rustup.rs/rustup-init.sh + - chmod +x rustup-init.sh + - ./rustup-init.sh --profile minimal --default-toolchain $recommended_rust_version + -y + - . $HOME/.cargo/env + - export OPAMYES="true" + - opam init --bare --disable-sandboxing + - make build-deps + - eval $(opam env) + - make $TARGET + variables: + TARGET: rpm + OCTEZ_PKGMAINTAINER: nomadic-labs + BLST_PORTABLE: "yes" + ARCH: amd64 + artifacts: + name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-*.rpm + when: on_success + +oc.build:dpkg:amd64: + image: debian:bookworm + stage: build + tags: + - gcp + needs: [] + dependencies: [] + before_script: + - . ./scripts/version.sh + - apt update + - apt-get install -y rsync git m4 build-essential patch unzip wget opam jq bc autoconf + cmake libev-dev libffi-dev libgmp-dev libhidapi-dev pkg-config zlib1g-dev libprotobuf-dev + protobuf-compiler libsqlite3-dev jq + script: + - wget https://sh.rustup.rs/rustup-init.sh + - chmod +x rustup-init.sh + - ./rustup-init.sh --profile minimal --default-toolchain $recommended_rust_version + -y + - . $HOME/.cargo/env + - export OPAMYES="true" + - opam init --bare --disable-sandboxing + - make build-deps + - eval $(opam env) + - make $TARGET + variables: + TARGET: dpkg + OCTEZ_PKGMAINTAINER: nomadic-labs + BLST_PORTABLE: "yes" + ARCH: amd64 + artifacts: + name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-*.deb + when: on_success + +select_tezts: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + dependencies: [] + allow_failure: + exit_codes: 17 + before_script: + - ./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 + +oc.docker:rust-toolchain: + image: ${CI_REGISTRY}/tezos/docker-images/ci-docker:v1.9.0 + stage: build + tags: + - gcp + dependencies: [] + before_script: [] + script: + - ./scripts/ci/docker_rust_toolchain_build.sh + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.6 + CI_DOCKER_HUB: "false" + artifacts: + reports: + dotenv: rust_toolchain_image_tag.env + +oc.docker:client-libs-dependencies: + image: ${CI_REGISTRY}/tezos/docker-images/ci-docker:v1.9.0 + stage: build + tags: + - gcp + dependencies: [] + before_script: [] + script: + - ./scripts/ci/docker_client_libs_dependencies_build.sh + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.6 + CI_DOCKER_HUB: "false" + artifacts: + reports: + dotenv: client_libs_dependencies_image_tag.env + +oc.build_x86_64-exp-dev-extra: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/build_full_unreleased.sh + 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 + COVERAGE_OPTIONS: --instrument-with bisect_ppx + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - 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 + when: on_success + +oc.build_x86_64-released: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/build_full_unreleased.sh + variables: + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/released-executables + COVERAGE_OPTIONS: --instrument-with bisect_ppx + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - 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 + when: on_success + +oc.build_kernels: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: build + tags: + - gcp + rules: + - changes: + - images/**/* + - scripts/ci/**/* + - kernels.mk + - etherlink.mk + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + - key: kernels + paths: + - cargo/ + - key: kernels-sccache + paths: + - _sccache + script: + - make -f kernels.mk build + - make -f etherlink.mk evm_kernel.wasm + - make -C src/risc_v risc-v-sandbox risc-v-dummy.elf + - make -C src/risc_v/tests/ build + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl + SCCACHE_DIR: $CI_PROJECT_DIR/_sccache + RUSTC_WRAPPER: sccache + 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 + - src/risc_v/risc-v-sandbox + - src/risc_v/risc-v-dummy.elf + - src/risc_v/tests/inline_asm/rv64-inline-asm-tests + when: on_success + +oc.tezt:fetch-records: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + dependencies: [] + allow_failure: true + before_script: + - ./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 + +ocaml-check: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - devtools/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - dune build @check + +oc.build:static-x86_64-linux-binaries: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: build + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - eval $(opam env) + script: + - ./scripts/ci/build_static_binaries.sh + variables: + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/released-executables script-inputs/experimental-executables + artifacts: + paths: + - octez-binaries/$ARCH/* + +opam:prepare: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - 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:bls12-381: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: bls12-381 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-accuser-Proxford: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-accuser-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-accuser-PtParisA: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-accuser-PtParisA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-alcotezt: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-alcotezt + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-baker-Proxford: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-baker-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-baker-PtParisA: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-baker-PtParisA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-client: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-client + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-codec: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-codec + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-crawler: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-crawler + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-dac-client: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-dac-client + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-dac-node: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-dac-node + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-distributed-internal: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-distributed-internal + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-distributed-lwt-internal: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-distributed-lwt-internal + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-injector: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-injector + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-internal-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-internal-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-l2-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-l2-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-node: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-node + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-node-config: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-node-config + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-proto-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-proto-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-000-Ps9mPmXa-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-000-Ps9mPmXa-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-001-PtCJ7pwo-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-001-PtCJ7pwo-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-002-PsYLVpVv-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-002-PsYLVpVv-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-003-PsddFKi3-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-003-PsddFKi3-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-004-Pt24m4xi-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-004-Pt24m4xi-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-005-PsBabyM1-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-005-PsBabyM1-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-006-PsCARTHA-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-006-PsCARTHA-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-007-PsDELPH1-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-007-PsDELPH1-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-008-PtEdo2Zk-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-008-PtEdo2Zk-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-009-PsFLoren-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-009-PsFLoren-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-010-PtGRANAD-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-010-PtGRANAD-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-011-PtHangz2-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-011-PtHangz2-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-012-Psithaca-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-012-Psithaca-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-013-PtJakart-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-013-PtJakart-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-014-PtKathma-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-014-PtKathma-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-015-PtLimaPt-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-015-PtLimaPt-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-016-PtMumbai-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-016-PtMumbai-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-017-PtNairob-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-017-PtNairob-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-018-Proxford-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-018-Proxford-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-019-PtParisA-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-019-PtParisA-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-alpha-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-alpha-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-protocol-compiler: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-protocol-compiler + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-proxy-server: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-proxy-server + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-rpc-process: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 3 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 3 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 3 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-rpc-process + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-shell-libs: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-shell-libs + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-signer: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-signer + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-node: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-node + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-node-Proxford: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-node-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-node-PtNairob: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-node-PtNairob + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-node-PtParisA: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-node-PtParisA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-node-alpha: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-node-alpha + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-node-lib: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-node-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-wasm-debugger: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 1 minute + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 1 minute + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 1 minute + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-wasm-debugger + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-wasm-debugger-lib: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-wasm-debugger-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-smart-rollup-wasm-debugger-plugin: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-smart-rollup-wasm-debugger-plugin + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:octez-version: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: octez-version + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-benchmark: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-benchmark + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-client-demo-counter: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-client-demo-counter + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-client-genesis: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-client-genesis + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-dac-client-lib: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-dac-client-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-dac-lib: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-dac-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-dac-node-lib: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 2 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 2 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 2 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-dac-node-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-dal-node-lib: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-dal-node-lib + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-dal-node-services: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-dal-node-services + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-openapi: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-openapi + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-000-Ps9mPmXa: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-000-Ps9mPmXa + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-001-PtCJ7pwo: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-001-PtCJ7pwo + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-002-PsYLVpVv: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-002-PsYLVpVv + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-003-PsddFKi3: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-003-PsddFKi3 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-004-Pt24m4xi: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-004-Pt24m4xi + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-005-PsBABY5H: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 4 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 4 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 4 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-005-PsBABY5H + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-005-PsBabyM1: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-005-PsBabyM1 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-006-PsCARTHA: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-006-PsCARTHA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-007-PsDELPH1: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-007-PsDELPH1 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-008-PtEdo2Zk: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-008-PtEdo2Zk + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-008-PtEdoTez: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-008-PtEdoTez + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-009-PsFLoren: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-009-PsFLoren + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-010-PtGRANAD: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-010-PtGRANAD + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-011-PtHangz2: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-011-PtHangz2 + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-012-Psithaca: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-012-Psithaca + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-013-PtJakart: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-013-PtJakart + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-014-PtKathma: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-014-PtKathma + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-015-PtLimaPt: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-015-PtLimaPt + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-016-PtMumbai: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-016-PtMumbai + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-017-PtNairob: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 5 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 5 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 5 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-017-PtNairob + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-018-Proxford: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-018-Proxford + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-019-PtParisA: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-019-PtParisA + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-alpha: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-alpha + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-demo-counter: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-demo-counter + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-demo-noops: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-demo-noops + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-protocol-genesis: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-protocol-genesis + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezos-proxy-server-config: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 6 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 6 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 6 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezos-proxy-server-config + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +opam:tezt-tezos: + image: ${build_deps_image_name}:runtime-prebuild-dependencies--${build_deps_image_version} + stage: packaging + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: delayed + start_in: 7 minutes + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--opam(?:$|,)/ + when: delayed + start_in: 7 minutes + - changes: + - '**/dune' + - '**/dune.inc' + - '**/*.dune.inc' + - '**/dune-project' + - '**/dune-workspace' + - '**/*.opam' + - .gitlab/ci/jobs/packaging/opam:prepare.yml + - .gitlab/ci/jobs/packaging/opam_package.yml + - manifest/manifest.ml + - manifest/main.ml + - scripts/opam-prepare-repo.sh + - scripts/version.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "nomadic-margebot" + when: delayed + start_in: 7 minutes + - when: never + needs: + - opam:prepare + dependencies: + - opam:prepare + cache: + key: opam-sccache + paths: + - _build/_sccache + before_script: + - 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: + - sccache --stop-server || true + - eval $(opam env) + - OPAM_LOGS=opam_logs ./scripts/ci/opam_handle_output.sh + variables: + RUNTEZTALIAS: "true" + package: tezt-tezos + SCCACHE_ERROR_LOG: $CI_PROJECT_DIR/opam_logs/sccache.log + SCCACHE_IDLE_TIMEOUT: "0" + SCCACHE_LOG: debug + SCCACHE_DIR: $CI_PROJECT_DIR/_build/_sccache + RUSTC_WRAPPER: sccache + artifacts: + expire_in: 1 week + paths: + - opam_logs/ + when: always + retry: 2 + +oc.install_bin_fedora_37: + image: fedora:37 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/install-bin-fedora.sh + +oc.install_bin_rc_fedora_37: + image: fedora:37 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/install-bin-fedora.sh rc + +oc.install_bin_ubuntu_focal: + image: public.ecr.aws/lts/ubuntu:20.04_stable + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh + +oc.install_bin_ubuntu_jammy: + image: public.ecr.aws/lts/ubuntu:22.04_stable + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh + +oc.install_bin_rc_ubuntu_focal: + image: public.ecr.aws/lts/ubuntu:20.04_stable + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh rc + +oc.install_bin_rc_ubuntu_jammy: + image: public.ecr.aws/lts/ubuntu:22.04_stable + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + allow_failure: true + script: + - ./docs/introduction/install-bin-ubuntu.sh rc + +oc.install_opam_focal: + image: ocaml/opam:ubuntu-20.04 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + allow_failure: true + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/install-opam.sh + variables: + OPAMJOBS: "4" + +oc.compile_release_sources_bullseye: + image: ocaml/opam:debian-11 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/compile-sources.sh tezos/tezos latest-release + +oc.compile_sources_bullseye: + image: ocaml/opam:debian-11 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + +oc.compile_sources_mantic: + image: ocaml/opam:ubuntu-23.10 + stage: test + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/introduction/install*.sh + - docs/introduction/compile*.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/introduction/compile-sources.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + +oc.unit:non-proto-x86_64: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS + - ./scripts/ci/merge_coverage.sh + variables: + ARCH: x86_64 + MAKE_TARGETS: test-nonproto-unit + 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 + reports: + junit: test_results/*.xml + when: always + retry: 2 + +oc.unit:other-x86_64: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS + - ./scripts/ci/merge_coverage.sh + variables: + ARCH: x86_64 + MAKE_TARGETS: test-other-unit + 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 + reports: + junit: test_results/*.xml + when: always + retry: 2 + +oc.unit:proto-x86_64: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS + - ./scripts/ci/merge_coverage.sh + variables: + ARCH: x86_64 + MAKE_TARGETS: test-proto-unit + 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 + reports: + junit: test_results/*.xml + when: always + retry: 2 + +oc.unit:non-proto-arm64: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_arm64 + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - src/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.build_arm64-released + - oc.build_arm64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make $MAKE_TARGETS + variables: + ARCH: arm64 + MAKE_TARGETS: test-nonproto-unit test-webassembly + DISTRIBUTE_TESTS_TO_PARALLELS: "true" + 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: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + timeout: 20 minutes + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - make test-webassembly + +oc.unit:js_components: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/install_build_deps.js.sh + script: + - make test-js + variables: + RUNTEZTALIAS: "true" + retry: 2 + +oc.unit:protocol_compiles: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - dune build @runtest_compile_protocol + +tezt: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: "" + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /slow /time_sensitive + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 60 + +tezt-memory-4k: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -memory_4k + TESTS: /ci_disabled /flaky /memory_3k /slow /time_sensitive memory_4k + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 4 + +tezt-memory-3k: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -memory_3k + TESTS: /ci_disabled /flaky /memory_4k /slow /time_sensitive memory_3k + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 + +tezt-time-sensitive: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -time_sensitive + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /slow time_sensitive + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + 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 + reports: + junit: $JUNIT + when: always + retry: 2 + +tezt:static-binaries: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-exp-dev-extra + - oc.build:static-x86_64-linux-binaries + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-exp-dev-extra + - oc.build:static-x86_64-linux-binaries + - oc.tezt:fetch-records + before_script: + - 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: "" + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /slow /time_sensitive cli + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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-flaky: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -flaky + TESTS: /ci_disabled /memory_3k /memory_4k /slow /time_sensitive flaky + TEZT_RETRY: "3" + TEZT_PARALLEL: "1" + 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 + +tezt-slow: + image: ${build_deps_image_name}:runtime-e2etest-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp_tezt + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - select_tezts + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 ${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 ${TESTS} --color + --log-buffer-size 5000 --log-file tezt.log --global-timeout 1800 --on-unknown-regression-files + fail --junit ${JUNIT} --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:-3} + --retry ${TEZT_RETRY:-1} + - if [ -n "${BISECT_FILE:-}" ]; then ./scripts/ci/merge_coverage.sh; fi + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -slow + TESTS: /ci_disabled /flaky /memory_3k /memory_4k /time_sensitive slow + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + 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 + +kaitai_checks: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - images/**/* + - src/**/* + - contrib/*kaitai*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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) + +kaitai_e2e_checks: + image: ${client_libs_dependencies_image_name}:${client_libs_dependencies_image_tag} + stage: test + tags: + - gcp + rules: + - changes: + - images/**/* + - src/**/* + - contrib/*kaitai*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:client-libs-dependencies + - kaitai_checks + dependencies: + - oc.docker:client-libs-dependencies + before_script: + - . ./scripts/version.sh + - . ./scripts/install_build_deps.js.sh + script: + - ./contrib/kaitai-struct-files/scripts/kaitai_e2e.sh contrib/kaitai-struct-files/files + contrib/kaitai-struct-files/input + +oc.check_lift_limits_patch: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/bin_tps_evaluation/lift_limits.patch + - src/proto_alpha/lib_protocol/main.ml + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + 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 + +oc.misc_checks: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - ./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 + +misc_opam_checks: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/opam-check.sh + artifacts: + expire_in: 1 day + paths: + - opam_repo.patch + when: always + retry: 2 + +oc.semgrep: + image: returntocorp/semgrep-agent:sha-c6cd7cf + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - tezt/**/* + - devtools/**/* + - scripts/semgrep/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + 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.integration:compiler-rejections: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - dune build @runtest_rejections + +oc.script:snapshot_alpha_and_link: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/proto_alpha/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - scripts/snapshot_alpha_and_link.sh + - scripts/snapshot_alpha.sh + - scripts/user_activated_upgrade.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + needs: + - job: trigger + optional: true + - job: oc.build_x86_64-released + optional: true + - job: oc.build_x86_64-exp-dev-extra + optional: true + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./.gitlab/ci/jobs/test/script:snapshot_alpha_and_link.sh + +oc.script:test-gen-genesis: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - eval $(opam env) + - cd scripts/gen-genesis + script: + - dune build gen_genesis.exe + +oc.script:test_release_versions: + image: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - etherlink/**/* + - tezt/**/* + - .gitlab/**/* + - .gitlab-ci.yml + - michelson_test_scripts/**/* + - tzt_reference_test_suite/**/* + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: [] + before_script: + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/test_release_version.sh + +oc.script:b58_prefix: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - scripts/b58_prefix/b58_prefix.py + - scripts/b58_prefix/test_b58_prefix.py + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - . ./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: ${build_deps_image_name}:runtime-build-dependencies--${build_deps_image_version} + stage: test + tags: + - gcp + rules: + - changes: + - src/**/* + - scripts/ci/test_liquidity_baking_scripts.sh + - scripts/check-liquidity-baking-scripts.sh + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + dependencies: + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + before_script: + - . ./scripts/version.sh + - eval $(opam env) + script: + - ./scripts/ci/test_liquidity_baking_scripts.sh + +test_kernels: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp + rules: + - changes: + - .gitlab-ci.yml + - images/**/* + - kernels.mk + - src/kernel_*/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -f kernels.mk check + - make -f kernels.mk test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl + +test_etherlink_kernel: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -f etherlink.mk check + - make -f etherlink.mk test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl + +test_evm_compatibility: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp + rules: + - changes: + - images/**/* + - etherlink.mk + - etherlink/kernel_evm/evm_execution/**/* + - etherlink/kernel_evm/evm_evaluation/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -f etherlink.mk EVM_EVALUATION_FEATURES=disable-file-logs evm-evaluation-assessor + - git clone --depth 1 --branch v13 https://github.com/ethereum/tests ethereum_tests + - ./evm-evaluation-assessor --eth-tests ./ethereum_tests/ --resources ./etherlink/kernel_evm/evm_evaluation/resources/ + -c + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl + +test_risc_v_kernels: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: test + tags: + - gcp + needs: + - oc.docker:rust-toolchain + dependencies: + - oc.docker:rust-toolchain + cache: + key: kernels + paths: + - cargo/ + script: + - make -C src/risc_v check + - make -C src/risc_v test + variables: + CC: clang + CARGO_HOME: $CI_PROJECT_DIR/cargo + NATIVE_TARGET: x86_64-unknown-linux-musl + +documentation:odoc: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - eval $(opam env) + script: + - make -C docs odoc-lite + artifacts: + expire_in: 1 hour + paths: + - docs/_build/api/odoc/ + +documentation:manuals: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - eval $(opam env) + script: + - ./.gitlab/ci/jobs/doc/documentation:manuals.sh + artifacts: + expire_in: 1 hour + paths: + - docs/*/octez-*.html + - docs/api/octez-*.txt + - docs/developer/metrics.csv + - docs/user/node-config.json + +documentation:docgen: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - job: trigger + optional: true + dependencies: [] + before_script: + - eval $(opam env) + script: + - make -C docs -j docexes-gen + artifacts: + expire_in: 1 hour + 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: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - changes: + - scripts/**/*/ + - script-inputs/**/*/ + - src/**/* + - tezt/**/* + - vendors/**/* + - dune + - dune-project + - dune-workspace + - docs/**/* + - .gitlab/**/* + - .gitlab-ci.yml + when: on_success + needs: + - documentation:odoc + - documentation:manuals + - documentation:docgen + dependencies: + - documentation:odoc + - documentation:manuals + - documentation:docgen + before_script: + - eval $(opam env) + - . $HOME/.venv/bin/activate + script: + - make -C docs -j sphinx + artifacts: + expire_in: 1 week + paths: + - docs/_build/ + expose_as: Documentation - excluding old protocols + +oc.install_python_focal: + image: public.ecr.aws/lts/ubuntu:20.04_stable + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/developer/install-python-debian-ubuntu.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + +oc.install_python_jammy: + image: public.ecr.aws/lts/ubuntu:22.04_stable + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/developer/install-python-debian-ubuntu.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + +oc.install_python_bullseye: + image: debian:bullseye + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - changes: + - docs/developer/install-python-debian-ubuntu.sh + if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: on_success + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: + - job: trigger + optional: true + dependencies: [] + script: + - ./docs/developer/install-python-debian-ubuntu.sh ${CI_MERGE_REQUEST_SOURCE_PROJECT_PATH:-tezos/tezos} + ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-master} + +documentation:linkcheck: + image: ${build_deps_image_name}:runtime-build-test-dependencies--${build_deps_image_version} + stage: doc + tags: + - gcp + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS" + when: always + - if: $CI_MERGE_REQUEST_LABELS =~ /(?:^|,)ci--docs(?:$|,)/ + when: on_success + - when: manual + allow_failure: true + needs: [] + dependencies: [] + allow_failure: true + before_script: + - . ./scripts/version.sh + - eval $(opam env) + - . $HOME/.venv/bin/activate + script: + - make all + - make -C docs html + - make -C docs redirectcheck + - make -C docs linkcheck diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 21e91f50b638..467537f5eb2c 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -547,7 +547,7 @@ let job_docker_client_libs_dependencies_before_merging = () |> job_external ~filename_suffix:"before_merging" -let _job_docker_client_libs_dependencies_other = +let job_docker_client_libs_dependencies_other = job_docker_client_libs_dependencies ~__POS__ () |> job_external ~filename_suffix:"other" @@ -1227,8 +1227,7 @@ let make_opam_packages (packages : opam_package list) : tezos_job list = let jobs = List.map job_opam_package packages in jobs_external ~path:"packaging/opam_package.yml" jobs -let (_jobs_opam_package : tezos_job list) = - make_opam_packages read_opam_packages +let (jobs_opam_package : tezos_job list) = make_opam_packages read_opam_packages let enable_kernels = Tezos_ci.append_variables @@ -1290,7 +1289,7 @@ let image_of_distribution = function | Fedora_37 -> Images.fedora_37 (** The set of installation test jobs *) -let _jobs_install_octez : tezos_job list = +let jobs_install_octez : tezos_job list = let changeset_install_jobs = ["docs/introduction/install*.sh"; "docs/introduction/compile*.sh"] in @@ -1642,7 +1641,7 @@ let _job_tezt_flaky_before_merging : tezos_job = ~job_tezt_fetch_records |> job_external ~filename_suffix:"before_merging" -let _job_tezt_flaky_schedule_extended_test : tezos_job = +let job_tezt_flaky_schedule_extended_test : tezos_job = job_tezt_flaky ~__POS__ ~rules:[job_rule ~changes:changeset_octez ~when_:On_success ()] @@ -1690,7 +1689,7 @@ let _job_tezt_slow_before_merging : tezos_job = ~job_tezt_fetch_records |> job_external ~filename_suffix:"before_merging" -let _job_tezt_slow_schedule_extended_test : tezos_job = +let job_tezt_slow_schedule_extended_test : tezos_job = job_tezt_slow ~__POS__ ~rules:[job_rule ~changes:changeset_octez ~when_:On_success ()] @@ -1703,7 +1702,7 @@ let _job_tezt_slow_schedule_extended_test : tezos_job = (** {2 Documentation jobs} *) -let _jobs_documentation : tezos_job list = +let jobs_documentation : tezos_job list = let rules = [job_rule ~changes:changeset_octez_docs ()] in let job_odoc = job @@ -1812,7 +1811,7 @@ let job_documentation_linkcheck ~__POS__ ?rules () : tezos_job = (** The [documentation:linkcheck] job as included on [before_merging] and [schedule_extended_test] pipelines. *) -let _job_documentation_linkcheck_before_merging_scheduled : tezos_job = +let job_documentation_linkcheck_before_merging_scheduled : tezos_job = job_documentation_linkcheck ~__POS__ ~rules: @@ -1850,7 +1849,7 @@ let job_install_python ~__POS__ ~name ~image = ] (** The set of python installation test jobs. *) -let _jobs_install_python = +let jobs_install_python = [ job_install_python ~__POS__ @@ -1867,7 +1866,7 @@ let _jobs_install_python = ] |> jobs_external ~path:"doc/oc.install_python.yml" -let _job_sanity_ci : tezos_job = +let job_sanity_ci : tezos_job = job ~__POS__ ~name:"sanity_ci" @@ -1904,14 +1903,14 @@ let _job_docker_hadolint_before_merging : tezos_job = () |> job_external -let _job_docker_hadolint_schedule_extended_tests : tezos_job = +let job_docker_hadolint_schedule_extended_tests : tezos_job = job_docker_hadolint ~__POS__ ~name:"docker:hadolint-schedule_extended_test" () |> job_external let changeset_ocaml_files = ["src/**/*"; "tezt/**/*"; ".gitlab/**/*"; ".gitlab-ci.yml"; "devtools/**/*"] -let _job_ocaml_check : tezos_job = +let job_ocaml_check : tezos_job = job ~__POS__ ~name:"ocaml-check" @@ -1974,7 +1973,7 @@ let _job_oc_misc_checks_before_merging : tezos_job = () |> job_external ~filename_suffix:"before_merging" -let _job_oc_misc_checks_schedule_extended_test = +let job_oc_misc_checks_schedule_extended_test = job_oc_misc_checks ~__POS__ ~check_licenses:false () |> job_external ~filename_suffix:"schedule_extended_test" @@ -1996,7 +1995,7 @@ let job_kaitai_checks : tezos_job = ] |> job_external -let _job_kaitai_e2e_checks = +let job_kaitai_e2e_checks = job ~__POS__ ~name:"kaitai_e2e_checks" @@ -2036,7 +2035,7 @@ let changeset_lift_limits_patch = ".gitlab-ci.yml"; ] -let _job_oc_check_lift_limits_patch = +let job_oc_check_lift_limits_patch = job ~__POS__ ~name:"oc.check_lift_limits_patch" @@ -2056,7 +2055,7 @@ let _job_oc_check_lift_limits_patch = ] |> job_external -let _job_misc_opam_checks = +let job_misc_opam_checks = job ~__POS__ ~name:"misc_opam_checks" @@ -2083,7 +2082,7 @@ let changeset_semgrep_files = ".gitlab-ci.yml"; ] -let _job_semgrep = +let job_semgrep = job ~__POS__ ~name:"oc.semgrep" @@ -2100,7 +2099,7 @@ let _job_semgrep = let changeset_unit_test_arm64 = ["src/**/*"; ".gitlab/**/*"; ".gitlab-ci.yml"] -let _jobs_unit_tests : tezos_job list = +let jobs_unit_tests : tezos_job list = let build_dependencies = function | Amd64 -> Dependent @@ -2266,7 +2265,7 @@ let _jobs_unit_tests : tezos_job list = ] |> jobs_external ~path:"test/oc.unit.yml" -let _job_oc_integration_compiler_rejections : tezos_job = +let job_oc_integration_compiler_rejections : tezos_job = job ~__POS__ ~name:"oc.integration:compiler-rejections" @@ -2290,7 +2289,7 @@ let changeset_script_snapshot_alpha_and_link = "scripts/user_activated_upgrade.sh"; ] -let _job_oc_script_snapshot_alpha_and_link : tezos_job = +let job_oc_script_snapshot_alpha_and_link : tezos_job = job ~__POS__ ~name:"oc.script:snapshot_alpha_and_link" @@ -2322,7 +2321,7 @@ let _job_oc_script_snapshot_alpha_and_link : tezos_job = ["./.gitlab/ci/jobs/test/script:snapshot_alpha_and_link.sh"] |> job_external -let _job_oc_script_test_gen_genesis : tezos_job = +let job_oc_script_test_gen_genesis : tezos_job = job ~__POS__ ~name:"oc.script:test-gen-genesis" @@ -2334,7 +2333,7 @@ let _job_oc_script_test_gen_genesis : tezos_job = ["dune build gen_genesis.exe"] |> job_external -let _job_oc_script_test_release_versions : tezos_job = +let job_oc_script_test_release_versions : tezos_job = job ~__POS__ ~name:"oc.script:test_release_versions" @@ -2361,7 +2360,7 @@ let changeset_script_b58_prefix = ".gitlab-ci.yml"; ] -let _job_oc_script_b58_prefix = +let job_oc_script_b58_prefix = job ~__POS__ ~name:"oc.script:b58_prefix" @@ -2390,7 +2389,7 @@ let changeset_test_liquidity_baking_scripts = ".gitlab-ci.yml"; ] -let _job_oc_test_liquidity_baking_scripts : tezos_job = +let job_oc_test_liquidity_baking_scripts : tezos_job = job ~__POS__ ~name:"oc.test-liquidity-baking-scripts" @@ -2407,7 +2406,7 @@ let _job_oc_test_liquidity_baking_scripts : tezos_job = ["./scripts/ci/test_liquidity_baking_scripts.sh"] |> job_external -let _jobs_tezt = +let jobs_tezt = let dependencies = Dependent [ @@ -2525,7 +2524,7 @@ let job_test_kernels ?rules ~__POS__ ~job_docker_rust_toolchain () : tezos_job = ~cache:[{key = "kernels"; paths = ["cargo/"]}] |> enable_kernels -let _job_test_kernels : tezos_job = +let job_test_kernels : tezos_job = job_test_kernels ~__POS__ ~rules:[job_rule ~changes:changeset_test_kernels ()] @@ -2565,7 +2564,7 @@ let _job_test_etherlink_kernel_before_merging : tezos_job = () |> job_external ~filename_suffix:"before_merging" -let _job_test_etherlink_kernel_schedule_extended_test : tezos_job = +let job_test_etherlink_kernel_schedule_extended_test : tezos_job = job_test_etherlink_kernel ~__POS__ ~job_docker_rust_toolchain:job_docker_rust_toolchain_other @@ -2603,7 +2602,7 @@ let job_test_evm_compatibility ?rules ~__POS__ ~job_docker_rust_toolchain () : ~cache:[{key = "kernels"; paths = ["cargo/"]}] |> enable_kernels -let _job_test_evm_compatibility : tezos_job = +let job_test_evm_compatibility : tezos_job = job_test_evm_compatibility ~__POS__ (* TODO: change-conditional rules don't make sense in the scheduled pipeline and will be removed in the next commit *) @@ -2645,7 +2644,7 @@ let _job_test_risc_v_kernels_before_merging : tezos_job = () |> job_external ~filename_suffix:"before_merging" -let _job_test_risc_v_kernels_schedule_extended_test : tezos_job = +let job_test_risc_v_kernels_schedule_extended_test : tezos_job = job_test_risc_v_kernels ~__POS__ ~job_docker_rust_toolchain:job_docker_rust_toolchain_other @@ -2887,7 +2886,60 @@ let () = "non_release_tag_test" If.(not_on_tezos_namespace && push && has_non_release_tag) ~jobs:(release_tag_pipeline ~test:true Non_release_tag) ; - register "schedule_extended_test" schedule_extended_tests + register + "schedule_extended_test" + schedule_extended_tests + ~jobs: + (let sanity = + [job_sanity_ci; job_docker_hadolint_schedule_extended_tests] + in + let build = + [ + job_build_arm64_exp_dev_extra; + job_build_arm64_release; + (* Check that binary packages build *) + job_build_rpm_amd64; + job_build_dpkg_amd64; + job_select_tezts; + job_docker_rust_toolchain_other; + job_docker_client_libs_dependencies_other; + job_build_x86_64_exp_dev_extra; + job_build_x86_64_release; + job_build_kernels; + job_tezt_fetch_records; + job_ocaml_check; + job_static_x86_64_experimental; + ] + in + let packaging = job_opam_prepare :: jobs_opam_package in + let test = + jobs_install_octez @ jobs_unit_tests @ jobs_tezt + @ [ + job_tezt_flaky_schedule_extended_test; + job_tezt_slow_schedule_extended_test; + job_kaitai_checks; + job_kaitai_e2e_checks; + job_oc_check_lift_limits_patch; + job_oc_misc_checks_schedule_extended_test; + job_misc_opam_checks; + job_semgrep; + job_oc_integration_compiler_rejections; + job_oc_script_snapshot_alpha_and_link; + job_oc_script_test_gen_genesis; + job_oc_script_test_release_versions; + job_oc_script_b58_prefix; + job_oc_test_liquidity_baking_scripts; + job_test_kernels; + job_test_etherlink_kernel_schedule_extended_test; + job_test_evm_compatibility; + job_test_risc_v_kernels_schedule_extended_test; + ] + in + let doc = + jobs_documentation @ jobs_install_python + @ [job_documentation_linkcheck_before_merging_scheduled] + in + sanity @ build @ packaging @ test @ doc) (* Split pipelines and writes image templates *) let config () = -- GitLab