From e1cb13f5252e6b33bf617fec5e88ad13ee8a8d3c Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Wed, 21 Jun 2023 18:02:51 +0200 Subject: [PATCH 1/2] CI: add tag templates for [build] jobs --- .gitlab/ci/jobs/shared/templates.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab/ci/jobs/shared/templates.yml b/.gitlab/ci/jobs/shared/templates.yml index 6042e1e609df..75e6d8a1a5e0 100644 --- a/.gitlab/ci/jobs/shared/templates.yml +++ b/.gitlab/ci/jobs/shared/templates.yml @@ -8,6 +8,14 @@ # their dependencies locally. dependencies: [] +# Default runner tags for jobs in the build stage +.tags_template__build: + tags: [] + +# Default runner tags for arm64 jobs in the build stage +.tags_template__build_arm64: + tags: ["arm64"] + # Add variables for bisect_ppx instrumentation .template__coverage: variables: -- GitLab From 0fb5f09cf8dd1008c0583a19a5b413924dd9a2df Mon Sep 17 00:00:00 2001 From: Arvid Jakobsson Date: Mon, 26 Jun 2023 14:14:10 +0200 Subject: [PATCH 2/2] CI: refactor tagging of all [build] jobs --- .gitlab/ci/jobs/build/arm64.yml | 9 +++++---- .gitlab/ci/jobs/build/check.yml | 1 + .gitlab/ci/jobs/build/docker_amd64_experimental.yml | 1 + .gitlab/ci/jobs/build/docker_amd64_release.yml | 1 + .gitlab/ci/jobs/build/docker_amd64_test.yml | 1 + .gitlab/ci/jobs/build/docker_arm64_experimental.yml | 3 +-- .gitlab/ci/jobs/build/docker_arm64_release.yml | 3 +-- .gitlab/ci/jobs/build/docker_arm64_test.yml | 3 +-- .gitlab/ci/jobs/build/get_contracts.yml | 1 + .gitlab/ci/jobs/build/kernels.yml | 1 + .gitlab/ci/jobs/build/static_arm64_experimental.yml | 3 +-- .gitlab/ci/jobs/build/static_arm64_release.yml | 3 +-- .gitlab/ci/jobs/build/static_x86_64_experimental.yml | 1 + .gitlab/ci/jobs/build/static_x86_64_release.yml | 1 + .gitlab/ci/jobs/build/tezt_fetch_records.yml | 1 + .gitlab/ci/jobs/build/x86_64.yml | 8 ++++++-- .gitlab/ci/jobs/doc/build_all.yml | 1 + 17 files changed, 26 insertions(+), 16 deletions(-) diff --git a/.gitlab/ci/jobs/build/arm64.yml b/.gitlab/ci/jobs/build/arm64.yml index 297ab7178727..fa39abd97d85 100644 --- a/.gitlab/ci/jobs/build/arm64.yml +++ b/.gitlab/ci/jobs/build/arm64.yml @@ -2,6 +2,7 @@ include: .gitlab/ci/jobs/build/common.yml .build_arm64: extends: + - .tags_template__build_arm64 - .build variables: ARCH: "arm64" @@ -15,14 +16,13 @@ include: .gitlab/ci/jobs/build/common.yml when: on_success - when: manual allow_failure: true - tags: - - arm64 # The build_arm64 jobs are split in two to keep the artifact size # under the 1GB hard limit set by GitLab. # 'build_arm64-released' builds the released executables. build_arm64-released: - extends: .build_arm64 + extends: + - .build_arm64 variables: EXECUTABLE_FILES: "script-inputs/released-executables" @@ -30,7 +30,8 @@ build_arm64-released: # executables, as well as the tezt test suite and the TPS evaluation # tool. build_arm64-exp-dev-extra: - extends: .build_arm64 + extends: + - .build_arm64 variables: EXECUTABLE_FILES: "script-inputs/experimental-executables script-inputs/dev-executables" BUILD_EXTRA: "src/bin_tps_evaluation/main_tps_evaluation.exe tezt/tests/main.exe" diff --git a/.gitlab/ci/jobs/build/check.yml b/.gitlab/ci/jobs/build/check.yml index a3a6992edffd..c0982bf97546 100644 --- a/.gitlab/ci/jobs/build/check.yml +++ b/.gitlab/ci/jobs/build/check.yml @@ -1,5 +1,6 @@ ocaml-check: extends: + - .tags_template__build - .build needs: [trigger] script: diff --git a/.gitlab/ci/jobs/build/docker_amd64_experimental.yml b/.gitlab/ci/jobs/build/docker_amd64_experimental.yml index 52fd82b428cd..f5c9d9e7216e 100644 --- a/.gitlab/ci/jobs/build/docker_amd64_experimental.yml +++ b/.gitlab/ci/jobs/build/docker_amd64_experimental.yml @@ -2,6 +2,7 @@ include: .gitlab/ci/jobs/build/common.yml docker:amd64: extends: + - .tags_template__build - .build_docker_release_template variables: DOCKER_BUILD_TARGET: "with-evm-artifacts" diff --git a/.gitlab/ci/jobs/build/docker_amd64_release.yml b/.gitlab/ci/jobs/build/docker_amd64_release.yml index 7f7544a5fe90..e9cca0712e34 100644 --- a/.gitlab/ci/jobs/build/docker_amd64_release.yml +++ b/.gitlab/ci/jobs/build/docker_amd64_release.yml @@ -2,6 +2,7 @@ include: .gitlab/ci/jobs/build/common.yml docker:amd64: extends: + - .tags_template__build - .build_docker_release_template variables: IMAGE_ARCH_PREFIX: "amd64_" diff --git a/.gitlab/ci/jobs/build/docker_amd64_test.yml b/.gitlab/ci/jobs/build/docker_amd64_test.yml index 590ee301acb4..3a9f08adb21c 100644 --- a/.gitlab/ci/jobs/build/docker_amd64_test.yml +++ b/.gitlab/ci/jobs/build/docker_amd64_test.yml @@ -2,6 +2,7 @@ include: .gitlab/ci/jobs/build/common.yml docker:amd64: extends: + - .tags_template__build - .build_docker_release_template variables: IMAGE_ARCH_PREFIX: "amd64_" diff --git a/.gitlab/ci/jobs/build/docker_arm64_experimental.yml b/.gitlab/ci/jobs/build/docker_arm64_experimental.yml index 952107cfe355..6f192ef78f3a 100644 --- a/.gitlab/ci/jobs/build/docker_arm64_experimental.yml +++ b/.gitlab/ci/jobs/build/docker_arm64_experimental.yml @@ -2,11 +2,10 @@ include: .gitlab/ci/jobs/build/common.yml docker:arm64: extends: + - .tags_template__build_arm64 - .build_docker_release_template stage: build variables: IMAGE_ARCH_PREFIX: "arm64_" CI_DOCKER_HUB: "true" EXECUTABLE_FILES: "script-inputs/released-executables script-inputs/experimental-executables" - tags: - - arm64 \ No newline at end of file diff --git a/.gitlab/ci/jobs/build/docker_arm64_release.yml b/.gitlab/ci/jobs/build/docker_arm64_release.yml index d154e617810b..e4d18d951a8c 100644 --- a/.gitlab/ci/jobs/build/docker_arm64_release.yml +++ b/.gitlab/ci/jobs/build/docker_arm64_release.yml @@ -2,11 +2,10 @@ include: .gitlab/ci/jobs/build/common.yml docker:arm64: extends: + - .tags_template__build_arm64 - .build_docker_release_template stage: build variables: IMAGE_ARCH_PREFIX: "arm64_" CI_DOCKER_HUB: "true" EXECUTABLE_FILES: "script-inputs/released-executables" - tags: - - arm64 \ No newline at end of file diff --git a/.gitlab/ci/jobs/build/docker_arm64_test.yml b/.gitlab/ci/jobs/build/docker_arm64_test.yml index 0e565dcec760..03f2b60b0dbc 100644 --- a/.gitlab/ci/jobs/build/docker_arm64_test.yml +++ b/.gitlab/ci/jobs/build/docker_arm64_test.yml @@ -2,11 +2,10 @@ include: .gitlab/ci/jobs/build/common.yml docker:arm64: extends: + - .tags_template__build_arm64 - .build_docker_release_template stage: build variables: IMAGE_ARCH_PREFIX: "arm64_" CI_DOCKER_HUB: "false" EXECUTABLE_FILES: "script-inputs/released-executables script-inputs/experimental-executables" - tags: - - arm64 \ No newline at end of file diff --git a/.gitlab/ci/jobs/build/get_contracts.yml b/.gitlab/ci/jobs/build/get_contracts.yml index 2d029b09fe4b..2d1ea6497ca7 100644 --- a/.gitlab/ci/jobs/build/get_contracts.yml +++ b/.gitlab/ci/jobs/build/get_contracts.yml @@ -2,6 +2,7 @@ include: .gitlab/ci/jobs/build/common.yml build_get_contracts: extends: + - .tags_template__build - .build_template script: - dune build @devtools/get_contracts/check diff --git a/.gitlab/ci/jobs/build/kernels.yml b/.gitlab/ci/jobs/build/kernels.yml index 0308d8669c3c..7495d0da7ec4 100644 --- a/.gitlab/ci/jobs/build/kernels.yml +++ b/.gitlab/ci/jobs/build/kernels.yml @@ -1,5 +1,6 @@ build_kernels: extends: + - .tags_template__build - .kernels_template stage: build needs: [trigger] diff --git a/.gitlab/ci/jobs/build/static_arm64_experimental.yml b/.gitlab/ci/jobs/build/static_arm64_experimental.yml index 52c239152c48..cc6eb8697db8 100644 --- a/.gitlab/ci/jobs/build/static_arm64_experimental.yml +++ b/.gitlab/ci/jobs/build/static_arm64_experimental.yml @@ -3,9 +3,8 @@ include: .gitlab/ci/jobs/build/common.yml # See comments in static_x86_64_experimental.yml. build:static-arm64-linux-binaries: extends: + - .tags_template__build_arm64 - .build_static_binaries_template variables: ARCH: "arm64" EXECUTABLE_FILES: "script-inputs/released-executables script-inputs/experimental-executables" - tags: - - arm64 diff --git a/.gitlab/ci/jobs/build/static_arm64_release.yml b/.gitlab/ci/jobs/build/static_arm64_release.yml index 81becf4d396d..4ce71cb04dfe 100644 --- a/.gitlab/ci/jobs/build/static_arm64_release.yml +++ b/.gitlab/ci/jobs/build/static_arm64_release.yml @@ -3,9 +3,8 @@ include: .gitlab/ci/jobs/build/common.yml # See comments in static_x86_64_experimental.yml. build:static-arm64-linux-binaries: extends: + - .tags_template__build_arm64 - .build_static_binaries_template variables: ARCH: "arm64" EXECUTABLE_FILES: "script-inputs/released-executables" - tags: - - arm64 diff --git a/.gitlab/ci/jobs/build/static_x86_64_experimental.yml b/.gitlab/ci/jobs/build/static_x86_64_experimental.yml index 475930848e82..22f36ea95691 100644 --- a/.gitlab/ci/jobs/build/static_x86_64_experimental.yml +++ b/.gitlab/ci/jobs/build/static_x86_64_experimental.yml @@ -12,6 +12,7 @@ include: .gitlab/ci/jobs/build/common.yml # (they do not build experimental executables) build:static-x86_64-linux-binaries: extends: + - .tags_template__build - .build_static_binaries_template # Even though not many tests depend on static executables, some of those that do # are limiting factors in the total duration of pipelines. diff --git a/.gitlab/ci/jobs/build/static_x86_64_release.yml b/.gitlab/ci/jobs/build/static_x86_64_release.yml index 181fde405096..06302d00600a 100644 --- a/.gitlab/ci/jobs/build/static_x86_64_release.yml +++ b/.gitlab/ci/jobs/build/static_x86_64_release.yml @@ -3,6 +3,7 @@ include: .gitlab/ci/jobs/build/common.yml # See comments in static_x86_64_experimental.yml. build:static-x86_64-linux-binaries: extends: + - .tags_template__build - .build_static_binaries_template needs: [trigger] variables: diff --git a/.gitlab/ci/jobs/build/tezt_fetch_records.yml b/.gitlab/ci/jobs/build/tezt_fetch_records.yml index 773cb59b6293..4cf2d96ea2cf 100644 --- a/.gitlab/ci/jobs/build/tezt_fetch_records.yml +++ b/.gitlab/ci/jobs/build/tezt_fetch_records.yml @@ -3,6 +3,7 @@ # for future merge request pipelines. tezt:fetch-records: extends: + - .tags_template__build - .build_template stage: build script: diff --git a/.gitlab/ci/jobs/build/x86_64.yml b/.gitlab/ci/jobs/build/x86_64.yml index e11e19d5b7b2..1e73d926e6d7 100644 --- a/.gitlab/ci/jobs/build/x86_64.yml +++ b/.gitlab/ci/jobs/build/x86_64.yml @@ -13,7 +13,9 @@ include: .gitlab/ci/jobs/build/common.yml # under the 1GB hard limit set by GitLab. # 'build_x86_64-released' builds the released executables. build_x86_64-released: - extends: .build_x86_64 + extends: + - .tags_template__build + - .build_x86_64 variables: EXECUTABLE_FILES: "script-inputs/released-executables" @@ -21,7 +23,9 @@ build_x86_64-released: # executables, as well as the tezt test suite used by the subsequent # 'tezt' jobs and TPS evaluation tool. build_x86_64-exp-dev-extra: - extends: .build_x86_64 + extends: + - .tags_template__build + - .build_x86_64 variables: EXECUTABLE_FILES: "script-inputs/experimental-executables script-inputs/dev-executables" BUILD_EXTRA: "src/bin_tps_evaluation/main_tps_evaluation.exe tezt/tests/main.exe" diff --git a/.gitlab/ci/jobs/doc/build_all.yml b/.gitlab/ci/jobs/doc/build_all.yml index 83e9477deb02..17f4f91ecee2 100644 --- a/.gitlab/ci/jobs/doc/build_all.yml +++ b/.gitlab/ci/jobs/doc/build_all.yml @@ -6,6 +6,7 @@ documentation:build_all: extends: - .default_settings_template - .image_template__runtime_build_test_dependencies_template + - .tags_template__build stage: build needs: [trigger] before_script: -- GitLab