diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a46059ef7ca2333fe0596282c717d70d1c19b7c..1d597c040339f3f24642218ba04b2188468e4e53 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -91,6 +91,10 @@ workflow: variables: PIPELINE_TYPE: schedule_extended_validation_test when: always + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_BAKER_REMOTE_MODE_TESTS" + variables: + PIPELINE_TYPE: schedule_extended_baker_remote_mode_test + when: always - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "TEST_RELEASE" variables: PIPELINE_TYPE: schedule_master_test_release @@ -238,6 +242,10 @@ include: rules: - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_VALIDATION_TESTS" when: always +- local: .gitlab/ci/pipelines/schedule_extended_baker_remote_mode_test.yml + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_BAKER_REMOTE_MODE_TESTS" + when: always - local: .gitlab/ci/pipelines/schedule_master_test_release.yml rules: - if: $CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "TEST_RELEASE" diff --git a/.gitlab/ci/pipelines/schedule_extended_baker_remote_mode_test.yml b/.gitlab/ci/pipelines/schedule_extended_baker_remote_mode_test.yml new file mode 100644 index 0000000000000000000000000000000000000000..e69a13f377f75b7e1bd6d1c7dd465fec8d820937 --- /dev/null +++ b/.gitlab/ci/pipelines/schedule_extended_baker_remote_mode_test.yml @@ -0,0 +1,574 @@ +# This file was automatically generated, do not edit. +# Edit file ci/bin/main.ml instead. + +stages: +- start +- images +- build +- test + +oc.docker:ci:amd64: + image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.12.0 + stage: images + tags: + - gcp + dependencies: [] + timeout: 90 minutes + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + script: + - ./images/ci_create_ci_images.sh + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.7 + CI_DOCKER_HUB: "false" + ARCH: amd64 + artifacts: + reports: + dotenv: ci_image_tag.env + +oc.docker:rust-toolchain:amd64: + image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.12.0 + stage: images + tags: + - gcp + dependencies: [] + timeout: 60 minutes + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + script: + - ./scripts/ci/docker_rust_toolchain_build.sh + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.7 + CI_DOCKER_HUB: "false" + artifacts: + reports: + dotenv: rust_toolchain_image_tag.env + +tezt: + image: ${ci_image_name}/e2etest:${ci_image_tag} + stage: test + tags: + - gcp_tezt + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + timeout: 40 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/version.sh + script: + - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" + CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" + - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv + - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit + --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log + --global-timeout 1800 --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} --retry ${TEZT_RETRY} + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: "" + TESTS: /ci_disabled && /memory_3k && /memory_4k && /time_sensitive && /slow && + /cloud && /flaky + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + TEZT_NO_NPX: "true" + artifacts: + expire_in: 7 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 100 + +tezt-memory-3k: + image: ${ci_image_name}/e2etest:${ci_image_tag} + stage: test + tags: + - gcp_tezt + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/version.sh + script: + - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" + CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" + - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv + - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit + --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log + --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --from-record + tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -memory_3k + TESTS: memory_3k && /ci_disabled && /memory_4k && /time_sensitive && /slow && + /cloud + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + TEZT_NO_NPX: "true" + artifacts: + expire_in: 7 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 12 + +tezt-memory-4k: + image: ${ci_image_name}/e2etest:${ci_image_tag} + stage: test + tags: + - gcp_tezt + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/version.sh + script: + - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" + CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" + - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv + - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit + --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log + --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --from-record + tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -memory_4k + TESTS: memory_4k && /ci_disabled && /memory_3k && /time_sensitive && /slow && + /cloud + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + TEZT_NO_NPX: "true" + artifacts: + expire_in: 7 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 4 + +tezt-time-sensitive: + image: ${ci_image_name}/e2etest:${ci_image_tag} + stage: test + tags: + - gcp_tezt + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/version.sh + script: + - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" + CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" + - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv + - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit + --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log + --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --from-record + tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -time_sensitive + TESTS: time_sensitive && /ci_disabled && /memory_3k && /memory_4k && /slow && + /cloud + TEZT_RETRY: "1" + TEZT_PARALLEL: "1" + TEZT_NO_NPX: "true" + artifacts: + expire_in: 7 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 + +tezt-slow: + image: ${ci_image_name}/e2etest:${ci_image_tag} + stage: test + tags: + - gcp_tezt + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/version.sh + script: + - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" + CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" + - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv + - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit + --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log + --global-timeout 1800 --on-unknown-regression-files fail --junit ${JUNIT} --from-record + tezt/records --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --record tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + --job-count ${TEZT_PARALLEL} --retry ${TEZT_RETRY} + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -slow + TESTS: slow && /ci_disabled && /memory_3k && /memory_4k && /time_sensitive && + /cloud && not (file = src/proto_019_PtParisA/lib_protocol/test/integration/test_adaptive_issuance_launch.ml) + TEZT_RETRY: "1" + TEZT_PARALLEL: "3" + TEZT_NO_NPX: "true" + artifacts: + expire_in: 7 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 + parallel: 20 + +tezt-flaky: + image: ${ci_image_name}/e2etest:${ci_image_tag} + stage: test + tags: + - gcp_tezt + needs: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + dependencies: + - oc.docker:ci:amd64 + - oc.build_x86_64-released + - oc.build_x86_64-exp-dev-extra + - oc.build_kernels + - oc.tezt:fetch-records + allow_failure: true + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/version.sh + script: + - echo "TESTS=\"${TESTS}\" JUNIT=\"${JUNIT}\" CI_NODE_INDEX=\"${CI_NODE_INDEX}\" + CI_NODE_TOTAL=\"${CI_NODE_TOTAL}\" TEZT_PARALLEL=\"${TEZT_PARALLEL}\" TEZT_VARIANT=\"${TEZT_VARIANT}\"" + - ./scripts/ci/tezt.sh --without-select-tezts "${TESTS}" --from-record tezt/records + --job ${CI_NODE_INDEX:-1}/${CI_NODE_TOTAL:-1} --list-tsv > selected_tezts.tsv + - ./scripts/ci/exit_code.sh timeout -k 60 1860 ./scripts/ci/tezt.sh --send-junit + --without-select-tezts "${TESTS}" --color --log-buffer-size 5000 --log-file tezt.log + --global-timeout 1800 --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} --retry ${TEZT_RETRY} + variables: + JUNIT: tezt-junit.xml + TEZT_VARIANT: -flaky + TESTS: /ci_disabled && /memory_3k && /memory_4k && /time_sensitive && /slow && + /cloud && flaky + TEZT_RETRY: "3" + TEZT_PARALLEL: "1" + TEZT_NO_NPX: "true" + artifacts: + expire_in: 7 days + paths: + - selected_tezts.tsv + - tezt.log + - tezt-*.log + - tezt-results-${CI_NODE_INDEX:-1}${TEZT_VARIANT}.json + - $JUNIT + reports: + junit: $JUNIT + when: always + retry: 2 + +oc.build_x86_64-released: + image: ${ci_image_name}/build:${ci_image_tag} + stage: build + tags: + - gcp + dependencies: + - oc.docker:ci:amd64 + timeout: 60 minutes + cache: + - key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push + - key: sccache-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/_sccache + policy: pull-push + - key: rust-targets-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/_target + policy: pull-push + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/ci/sccache-start.sh + script: + - ./scripts/ci/build_full_unreleased.sh + after_script: + - ./scripts/ci/sccache-stop.sh + variables: + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/released-executables + CARGO_NET_OFFLINE: "false" + SCCACHE_DIR: $CI_PROJECT_DIR/_sccache + SCCACHE_CACHE_SIZE: 5G + OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps + OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps + OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime + COVERAGE_OPTIONS: --instrument-with bisect_ppx + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - octez-teztale-* + - src/proto_*/parameters/*.json + - _build/default/src/lib_protocol_compiler/bin/main_native.exe + - _build/default/tezt/tests/main.exe + - _build/default/contrib/octez_injector_server/octez_injector_server.exe + - etherlink-governance-observer + when: on_success + +oc.build_x86_64-exp-dev-extra: + image: ${ci_image_name}/build:${ci_image_tag} + stage: build + tags: + - gcp + dependencies: + - oc.docker:ci:amd64 + timeout: 60 minutes + cache: + - key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push + - key: sccache-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/_sccache + policy: pull-push + - key: rust-targets-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/_target + policy: pull-push + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + - . ./scripts/ci/sccache-start.sh + script: + - ./scripts/ci/build_full_unreleased.sh + after_script: + - ./scripts/ci/sccache-stop.sh + variables: + ARCH: x86_64 + EXECUTABLE_FILES: script-inputs/experimental-executables script-inputs/dev-executables + BUILD_EXTRA: src/bin_tps_evaluation/main_tps_evaluation.exe src/bin_octogram/octogram_main.exe + tezt/tests/main.exe contrib/octez_injector_server/octez_injector_server.exe + CARGO_NET_OFFLINE: "false" + SCCACHE_DIR: $CI_PROJECT_DIR/_sccache + SCCACHE_CACHE_SIZE: 5G + OCTEZ_RUST_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rust_deps + OCTEZ_RUSTZCASH_DEPS_TARGET_DIR: $CI_PROJECT_DIR/_target/rustzcash_deps + OCTEZ_ETHERLINK_WASM_RUNTIME_TARGET_DIR: $CI_PROJECT_DIR/_target/etherlink_wasm_runtime + COVERAGE_OPTIONS: --instrument-with bisect_ppx + artifacts: + name: build-$ARCH-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - octez-* + - octez-teztale-* + - src/proto_*/parameters/*.json + - _build/default/src/lib_protocol_compiler/bin/main_native.exe + - _build/default/tezt/tests/main.exe + - _build/default/contrib/octez_injector_server/octez_injector_server.exe + - etherlink-governance-observer + when: on_success + +oc.build_kernels: + image: ${rust_toolchain_image_name}:${rust_toolchain_image_tag} + stage: build + tags: + - gcp + dependencies: + - oc.docker:rust-toolchain:amd64 + timeout: 60 minutes + cache: + - key: kernels-sccache + paths: + - $CI_PROJECT_DIR/_sccache + policy: pull-push + - key: cargo-$CI_JOB_NAME_SLUG + paths: + - $CI_PROJECT_DIR/.cargo/registry/cache + policy: pull-push + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - . ./scripts/ci/sccache-start.sh + script: + - make -f kernels.mk build + - make -f etherlink.mk evm_kernel.wasm + - make -C src/riscv riscv-dummy.elf + after_script: + - ./scripts/ci/sccache-stop.sh + variables: + CC: clang + NATIVE_TARGET: x86_64-unknown-linux-musl + SCCACHE_DIR: $CI_PROJECT_DIR/_sccache + SCCACHE_CACHE_SIZE: 5G + CARGO_NET_OFFLINE: "false" + artifacts: + name: build-kernels-$CI_COMMIT_REF_SLUG + expire_in: 1 day + paths: + - evm_kernel.wasm + - smart-rollup-installer + - sequenced_kernel.wasm + - tx_kernel.wasm + - tx_kernel_dal.wasm + - dal_echo_kernel.wasm + - src/riscv/riscv-dummy.elf + when: on_success + +oc.tezt:fetch-records: + image: ${ci_image_name}/build:${ci_image_tag} + stage: build + tags: + - gcp + dependencies: + - oc.docker:ci:amd64 + allow_failure: true + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - ./scripts/ci/take_ownership.sh + - . ./scripts/version.sh + - eval $(opam env) + script: + - dune exec scripts/ci/update_records/update.exe -- --log-file tezt-fetch-records.log + --from last-successful-schedule-extended-test --info + after_script: + - ./scripts/ci/filter_corrupted_records.sh + artifacts: + expire_in: 4 hours + paths: + - tezt-fetch-records.log + - tezt/records/*.json + - tezt/records/*.json.broken + when: always + +datadog_pipeline_trace: + image: datadog/ci:v2.44.0 + stage: start + tags: + - gcp + dependencies: [] + allow_failure: true + timeout: 60 minutes + interruptible: false + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + script: + - CI_MERGE_REQUEST_IID=${CI_MERGE_REQUEST_IID:-none} + - DATADOG_SITE=datadoghq.eu datadog-ci tag --level pipeline --tags pipeline_type:$PIPELINE_TYPE + --tags mr_number:$CI_MERGE_REQUEST_IID diff --git a/ci/bin/main.ml b/ci/bin/main.ml index 16fea43d12b6c444942f036343fd14ae9492938b..0242aa3ea868ab611bbea4c49eb419986f7492b5 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -325,6 +325,15 @@ let () = on 'master'.\n\n\ This scheduled pipeline exercices the full tezt tests suites, but with \ Octez nodes configured to use single-process validation." ; + register + "schedule_extended_baker_remote_mode_test" + schedule_extended_baker_remote_mode_tests + ~jobs: + (Custom_extended_test_pipeline.jobs |> List.map (with_interruptible false)) + ~description: + "Scheduled run of all tezt tests with baker using remote node, weekly on \ + 'master'.\n\n\ + This scheduled pipeline exercices the full tezt tests suites." ; register "schedule_master_test_release" schedule_test_release diff --git a/ci/lib_tezos_ci/rules.ml b/ci/lib_tezos_ci/rules.ml index a921716d1685143d190c5ae56b077bfba4d1b738..bb5840d340e03c0b5236721e69d396fe512918ab 100644 --- a/ci/lib_tezos_ci/rules.ml +++ b/ci/lib_tezos_ci/rules.ml @@ -60,6 +60,9 @@ let schedule_extended_rpc_tests = let schedule_extended_validation_tests = scheduled && var "TZ_SCHEDULE_KIND" == str "EXTENDED_VALIDATION_TESTS" +let schedule_extended_baker_remote_mode_tests = + scheduled && var "TZ_SCHEDULE_KIND" == str "EXTENDED_BAKER_REMOTE_MODE_TESTS" + let schedule_test_release = scheduled && var "TZ_SCHEDULE_KIND" == str "TEST_RELEASE" diff --git a/ci/lib_tezos_ci/rules.mli b/ci/lib_tezos_ci/rules.mli index 75d31470434944dd91a80ada2110cd212a659f39..c33714d875dd40369d6184d6bbe4d5e082fd9ba7 100644 --- a/ci/lib_tezos_ci/rules.mli +++ b/ci/lib_tezos_ci/rules.mli @@ -73,6 +73,13 @@ val schedule_extended_rpc_tests : If.t [TZ_SCHEDULE_KIND] set to [EXTENDED_VALIDATION_TESTS]. *) val schedule_extended_validation_tests : If.t +(** A rule that is true for scheduled extended baker with remote node test + pipelines. + + Such pipelines have [CI_PIPELINE_SOURCE] set to [scheduled] and + [TZ_SCHEDULE_KIND] set to [EXTENDED_BAKER_REMOTE_MODE_TESTS]. *) +val schedule_extended_baker_remote_mode_tests : If.t + (** A rule that is true for scheduled release tests. Such pipelines have [CI_PIPELINE_SOURCE] set to [scheduled] and diff --git a/tezt/lib_tezos/agnostic_baker.ml b/tezt/lib_tezos/agnostic_baker.ml index c7806187c749813d1bdf97afc61bffe6ce4c6875..fae476c2df55091ae7aed3d5e4773589839278a9 100644 --- a/tezt/lib_tezos/agnostic_baker.ml +++ b/tezt/lib_tezos/agnostic_baker.ml @@ -83,13 +83,24 @@ let liquidity_baking_votefile ?path vote = ]) ; votefile +let enable_remote_mode = + match Sys.getenv_opt "TZ_SCHEDULE_KIND" with + | Some "EXTENDED_BAKER_REMOTE_MODE_TESTS" -> Some true + | Some _ -> Some false + | _ -> None + let create_from_uris ?runner ?(path = Uses.path Constant.octez_agnostic_baker) ?name ?color ?event_pipe ?(delegates = []) ?votefile ?(liquidity_baking_toggle_vote = Some Pass) ?force_apply_from_round - ?(remote_mode = false) ?operations_pool ?dal_node_rpc_endpoint + ?remote_mode ?operations_pool ?dal_node_rpc_endpoint ?dal_node_timeout_percentage ?(state_recorder = false) ?(node_version_check_bypass = false) ?node_version_allowed ~base_dir ~node_data_dir ~node_rpc_endpoint ?(keep_alive = false) () = + let remote_mode = + Option.value + remote_mode + ~default:(Option.value enable_remote_mode ~default:false) + in let agnostic_baker = create ~path @@ -124,7 +135,7 @@ let handle_event node ({name; _} : event) = let create ?runner ?path ?name ?color ?event_pipe ?(delegates = []) ?votefile ?(liquidity_baking_toggle_vote = Some Pass) ?force_apply_from_round - ?(remote_mode = false) ?operations_pool ?dal_node_rpc_endpoint + ?remote_mode ?operations_pool ?dal_node_rpc_endpoint ?dal_node_timeout_percentage ?(state_recorder = false) ?(node_version_check_bypass = false) ?node_version_allowed ?keep_alive node client = @@ -139,7 +150,7 @@ let create ?runner ?path ?name ?color ?event_pipe ?(delegates = []) ?votefile ?votefile ~liquidity_baking_toggle_vote ?force_apply_from_round - ~remote_mode + ?remote_mode ?operations_pool ?dal_node_rpc_endpoint ?dal_node_timeout_percentage