diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index 539ba29ab53e5c3c20a8b52621d6943640238af3..84fe9bf15ebb322b4b19f6c8b1ff66bbc3a5f680 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -57,6 +57,8 @@ oc.build:static-x86_64-linux-binaries: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -92,6 +94,8 @@ oc.build:static-arm64-linux-binaries: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes @@ -127,6 +131,8 @@ oc.docker:amd64: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -148,6 +154,8 @@ oc.docker:arm64: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index f15020d6b6ee0df6689c1cd812aea8e6e08c923c..f78813afb56f77a01891f319344403cc36828f71 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -57,6 +57,8 @@ oc.build:static-x86_64-linux-binaries: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -92,6 +94,8 @@ oc.build:static-arm64-linux-binaries: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes @@ -127,6 +131,8 @@ oc.docker:amd64: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -148,6 +154,8 @@ oc.docker:arm64: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index 7b3eb3b8dbb6827d327f223f852960b9e83cb056..99dca4f4279b909311d2184cd4a4098556c9b6bc 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -57,6 +57,8 @@ oc.build:static-x86_64-linux-binaries: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -92,6 +94,8 @@ oc.build:static-arm64-linux-binaries: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes @@ -127,6 +131,8 @@ oc.docker:amd64: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -148,6 +154,8 @@ oc.docker:arm64: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index 83006e23d00994de737306315be1c0c6ecaced0f..c9cb281f832c79639e1ad17b9280392905381744 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -58,6 +58,8 @@ oc.build:static-x86_64-linux-binaries: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -93,6 +95,8 @@ oc.build:static-arm64-linux-binaries: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes @@ -128,6 +132,8 @@ oc.docker:amd64: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -149,6 +155,8 @@ oc.docker:arm64: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index f5108ab91177baa704dc479cfc11278ccad634e5..d7cd88ea006a9415ce68740270213c376fd7db9e 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -58,6 +58,8 @@ oc.build:static-x86_64-linux-binaries: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -93,6 +95,8 @@ oc.build:static-arm64-linux-binaries: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes @@ -128,6 +132,8 @@ oc.docker:amd64: stage: build tags: - gcp + needs: + - oc.docker:ci:amd64 dependencies: - oc.docker:ci:amd64 timeout: 60 minutes @@ -149,6 +155,8 @@ oc.docker:arm64: stage: build tags: - gcp_arm64 + needs: + - oc.docker:ci:arm64 dependencies: - oc.docker:ci:arm64 timeout: 60 minutes diff --git a/ci/bin/release_tag.ml b/ci/bin/release_tag.ml index 939c9e3072b537a5765d2bf4f629787990ad8d7c..fa335b44ec9d82626aaa13f44f33c1c8d8cc84cc 100644 --- a/ci/bin/release_tag.ml +++ b/ci/bin/release_tag.ml @@ -44,13 +44,23 @@ type release_tag_pipeline_type = If [test] is true (default is [false]), then the Docker images are built of the [Test] type and are published to the GitLab registry - instead of Docker hub. *) + instead of Docker hub. + + On release pipelines these jobs can start immediately *) let octez_jobs ?(test = false) release_tag_pipeline_type = let job_docker_amd64 = - job_docker_build ~__POS__ ~arch:Amd64 (if test then Test else Release) + job_docker_build + ~dependencies:(Dependent []) + ~__POS__ + ~arch:Amd64 + (if test then Test else Release) in let job_docker_arm64 = - job_docker_build ~__POS__ ~arch:Arm64 (if test then Test else Release) + job_docker_build + ~dependencies:(Dependent []) + ~__POS__ + ~arch:Arm64 + (if test then Test else Release) in let job_docker_merge = job_docker_merge_manifests @@ -59,11 +69,23 @@ let octez_jobs ?(test = false) release_tag_pipeline_type = ~job_docker_amd64 ~job_docker_arm64 in + (* on release pipelines the static binaries do not have any dependencies + on previous stages and can start immediately *) let job_static_arm64_release = - job_build_static_binaries ~__POS__ ~arch:Arm64 ~release:true () + job_build_static_binaries + ~dependencies:(Dependent []) + ~__POS__ + ~arch:Arm64 + ~release:true + () in let job_static_x86_64_release = - job_build_static_binaries ~__POS__ ~arch:Amd64 ~release:true () + job_build_static_binaries + ~dependencies:(Dependent []) + ~__POS__ + ~arch:Amd64 + ~release:true + () in let job_gitlab_release ~dependencies : Tezos_ci.tezos_job = job