diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index 70778c91b2b06ae9154eefbe6a1e685113003758..4a60e4548c8788a08875bc57f763068325152e56 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -931,7 +931,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -1084,7 +1084,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index a90178f347250a7fbd56ec65e070e33318faf4fc..1aa3fe102400e3afc3693d0c872fad18db835823 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -931,7 +931,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -1084,7 +1084,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index be1a4d7dbca811527d1040033c313427363864c6..93f24f35a09147c8d49d198ec09b1d8cf128cf20 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -932,7 +932,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -1085,7 +1085,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index 5a1f79504e853cae8b2561d5b860241d0aabbfce..c9a3f77be710abd15ded425ad4822a71f7e76de5 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -933,7 +933,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -1086,7 +1086,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index 05652acda3bf5bdceb3ffbbe9e3f4e72f4fbb59b..34cc88853e895d7b25ad14c60e3c5b8e855a2c46 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -933,7 +933,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -1086,7 +1086,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} diff --git a/.gitlab/ci/pipelines/rpm_repository_full.yml b/.gitlab/ci/pipelines/rpm_repository_full.yml index da2d15dd3d167dfb920337efd6378dfabefce675..cbfcfc6367c71f72c73b92259868d6742d3afacb 100644 --- a/.gitlab/ci/pipelines/rpm_repository_full.yml +++ b/.gitlab/ci/pipelines/rpm_repository_full.yml @@ -198,7 +198,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -351,7 +351,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -397,6 +397,30 @@ oc.install_bin_fedora_39.doc: - stuck_or_timeout_failure - runner_system_failure +oc.install_bin_fedora_39_systemd: + image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.12.0 + stage: publishing_tests + tags: + - gcp + needs: + - oc.docker-systemd_tests-rpm + - rpm_repo_fedora + dependencies: [] + timeout: 60 minutes + before_script: + - ./scripts/ci/docker_initialize.sh + script: + - ./scripts/ci/systemd-packages-test.sh docs/introduction/install-bin-rpm.sh images/packages/rpm-systemd-tests.Dockerfile + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.7 + FLAVOUR: systemd-tests + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE + DEP_IMAGE_PROTECTED: ${GCP_PROTECTED_REGISTRY}/tezos/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE + DISTRIBUTION: fedora + RELEASE: "39" + oc.install_bin_rockylinux_9.3: image: rockylinux:9.3 stage: publishing_tests @@ -454,6 +478,5 @@ oc.install_bin_rockylinux_93_systemd: FLAVOUR: systemd-tests DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE DEP_IMAGE_PROTECTED: ${GCP_PROTECTED_REGISTRY}/tezos/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE - PREFIX: next DISTRIBUTION: rockylinux RELEASE: "9.3" diff --git a/.gitlab/ci/pipelines/rpm_repository_partial.yml b/.gitlab/ci/pipelines/rpm_repository_partial.yml index 7f5d5deb632bdb6cb0193827f2d1306afb9a827b..0af0f32fe65f87eb2a7a7faaa615d474ca5a1183 100644 --- a/.gitlab/ci/pipelines/rpm_repository_partial.yml +++ b/.gitlab/ci/pipelines/rpm_repository_partial.yml @@ -194,7 +194,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -261,6 +261,5 @@ oc.install_bin_rockylinux_93_systemd: FLAVOUR: systemd-tests DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE DEP_IMAGE_PROTECTED: ${GCP_PROTECTED_REGISTRY}/tezos/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE - PREFIX: next DISTRIBUTION: rockylinux RELEASE: "9.3" diff --git a/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml b/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml index fcbbb54afe45b5ecef1ae7c044b1cd6f9d70d875..716d888da434c8c2dce6a29f139bd9cc3c8e2996 100644 --- a/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml +++ b/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml @@ -194,7 +194,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -261,6 +261,5 @@ oc.install_bin_rockylinux_93_systemd: FLAVOUR: systemd-tests DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE DEP_IMAGE_PROTECTED: ${GCP_PROTECTED_REGISTRY}/tezos/tezos/$FLAVOUR-$DISTRIBUTION-$RELEASE - PREFIX: next DISTRIBUTION: rockylinux RELEASE: "9.3" diff --git a/.gitlab/ci/pipelines/schedule_master_test_release.yml b/.gitlab/ci/pipelines/schedule_master_test_release.yml index 25148f76c145cbe8605df9ccef762fac15ee4a81..53f4b0e4d4c5be5ff19751409e9530e84e356289 100644 --- a/.gitlab/ci/pipelines/schedule_master_test_release.yml +++ b/.gitlab/ci/pipelines/schedule_master_test_release.yml @@ -935,7 +935,7 @@ rpm_repo_rockylinux: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} @@ -1088,7 +1088,7 @@ rpm_repo_fedora: variables: ARCHITECTURES: amd64 arm64 GNUPGHOME: $CI_PROJECT_DIR/.gnupg - PREFIX: next + PREFIX: "" id_tokens: GCP_ID_TOKEN: aud: https://iam.googleapis.com/projects/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROJECT_ID}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_FEDERATION_POOL_ID}/providers/${GCP_WORKLOAD_IDENTITY_FEDERATION_PROVIDER_ID} diff --git a/ci/bin/common.ml b/ci/bin/common.ml index b852e3e3d93c11071067c2d500bd73eeebb688cf..95473c4a8d5c0650c5dd775695baa77715f25240 100644 --- a/ci/bin/common.ml +++ b/ci/bin/common.ml @@ -295,28 +295,6 @@ let make_job_build_packages ~__POS__ ~name ~matrix ~script ~dependencies ] |> enable_sccache ~idle_timeout:"0" -(* Push .rpm artifacts to storagecloud rpm repository. *) -let make_job_repo ?rules ~__POS__ ~name ?(stage = Stages.publishing) - ?(prefix = false) ?dependencies ~variables ?id_tokens ~image ~before_script - script : tezos_job = - let variables = - variables - @ [("GNUPGHOME", "$CI_PROJECT_DIR/.gnupg")] - @ if prefix then [("PREFIX", "next")] else [] - in - job - ?rules - ?dependencies - ~__POS__ - ~stage - ~name - ?id_tokens - ~image - ~before_script - ~retry:{max = 2; when_ = [Stuck_or_timeout_failure; Runner_system_failure]} - ~variables - script - (** {2 Changesets} *) (** Modifying these files will unconditionally execute all conditional jobs. diff --git a/ci/bin/rpm_repository.ml b/ci/bin/rpm_repository.ml index b2f79078fd9a9cbd8a249370e9ccc188b51f8f86..6419d9e8cae8c9d94ceea3fc6f6fb60e4e7c8372 100644 --- a/ci/bin/rpm_repository.ml +++ b/ci/bin/rpm_repository.ml @@ -43,6 +43,28 @@ let fedora_package_release_matrix = function | Full | Release -> [[("RELEASE", ["39"; "42"]); ("TAGS", ["gcp"; "gcp_arm64"])]] +(* Push .rpm artifacts to storagecloud rpm repository. *) +let make_job_repo ?rules ~__POS__ ~name ?(stage = Stages.publishing) + ?(prefix = false) ?dependencies ~variables ?id_tokens ~image ~before_script + script : tezos_job = + let variables = + variables + @ [("GNUPGHOME", "$CI_PROJECT_DIR/.gnupg")] + @ if prefix then [("PREFIX", "")] else [] + in + job + ?rules + ?dependencies + ~__POS__ + ~stage + ~name + ?id_tokens + ~image + ~before_script + ~retry:{max = 2; when_ = [Stuck_or_timeout_failure; Runner_system_failure]} + ~variables + script + (* The entire RPM packages pipeline. When [pipeline_type] is [Before_merging] we test only on Rockylinux. Returns a triplet, the first element is the list of all jobs, the second is the job building fedora packages artifats @@ -249,6 +271,24 @@ let jobs pipeline_type = ~dependencies:(Dependent [Job job_rpm_repo_fedora]) ~image:Images.fedora_39 ["./docs/introduction/install-bin-rpm.sh fedora 39"]; + job_install_systemd_bin + ~__POS__ + ~name:"oc.install_bin_fedora_39_systemd" + ~dependencies: + (Dependent + [ + Job job_docker_systemd_test_rpm_dependencies; + Job job_rpm_repo_fedora; + ]) + ~variables: + (variables + ~kind:"systemd-tests" + [("DISTRIBUTION", "fedora"); ("RELEASE", "39")]) + [ + "./scripts/ci/systemd-packages-test.sh \ + docs/introduction/install-bin-rpm.sh \ + images/packages/rpm-systemd-tests.Dockerfile"; + ]; ] in let test_rockylinux_packages_jobs = @@ -277,11 +317,7 @@ let jobs pipeline_type = ~variables: (variables ~kind:"systemd-tests" - [ - ("PREFIX", "next"); - ("DISTRIBUTION", "rockylinux"); - ("RELEASE", "9.3"); - ]) + [("DISTRIBUTION", "rockylinux"); ("RELEASE", "9.3")]) [ "./scripts/ci/systemd-packages-test.sh \ docs/introduction/install-bin-rpm.sh \ diff --git a/docs/introduction/install-bin-rpm.sh b/docs/introduction/install-bin-rpm.sh index 15138f441626a1e6d81fc7c67aacf4aaeda62f01..e9dec468e989cbdd4eb8af8f116c97a20a9620bb 100755 --- a/docs/introduction/install-bin-rpm.sh +++ b/docs/introduction/install-bin-rpm.sh @@ -51,14 +51,14 @@ if [ "$RELEASETYPE" = "Master" ]; then dnf -y install dnf-plugins-core # Add the repository - dnf -y config-manager --add-repo "https://packages.nomadic-labs.com/next/$distribution/dists/$release/" + dnf -y config-manager --add-repo "https://packages.nomadic-labs.com/$distribution/dists/$release/" if [ "$distroname" = "rockylinux" ]; then dnf -y config-manager --set-enabled devel fi dnf -y update # Install public key - rpm --import "https://packages.nomadic-labs.com/next/$distribution/octez.asc" + rpm --import "https://packages.nomadic-labs.com/$distribution/octez.asc" # [end add repository] else # Update and install the config-mananger plugin @@ -66,7 +66,7 @@ else dnf -y install dnf-plugins-core # Add the repository - dnf -y config-manager --add-repo "https://storage.googleapis.com/$bucket/next/$distribution/dists/$release/" + dnf -y config-manager --add-repo "https://storage.googleapis.com/$bucket/$distribution/dists/$release/" if [ "$distroname" = "rockylinux" ]; then dnf -y config-manager --set-enabled devel @@ -74,7 +74,7 @@ else dnf -y update # Install public key - rpm --import "https://storage.googleapis.com/$bucket/next/$distribution/octez.asc" + rpm --import "https://storage.googleapis.com/$bucket/$distribution/octez.asc" fi diff --git a/scripts/ci/create_rpm_repo.sh b/scripts/ci/create_rpm_repo.sh index 934e8083b0b12869ae6a5435558566fb8d522827..a4503528792c1a1c4e2642e24f194894d22d5228 100755 --- a/scripts/ci/create_rpm_repo.sh +++ b/scripts/ci/create_rpm_repo.sh @@ -34,7 +34,7 @@ fi ARCHITECTURES=${ARCHITECTURES:-"amd64"} -# The prefix used for these packages in the repository. E.g. 'next' +# The prefix used for these packages in the repository. PREFIX=${PREFIX:-""} # The linux distribution for which we are creating the rpm repository diff --git a/scripts/packaging/tests/rpm/rpm-install.sh b/scripts/packaging/tests/rpm/rpm-install.sh index 395400de44850110aa141f294e2adf640890a085..7f995bda8bd4f811dd2a0c82811ad976c7256dc3 100755 --- a/scripts/packaging/tests/rpm/rpm-install.sh +++ b/scripts/packaging/tests/rpm/rpm-install.sh @@ -3,7 +3,7 @@ set -eu -REPO="https://storage.googleapis.com/$GCP_LINUX_PACKAGES_BUCKET/next/$CI_COMMIT_REF_NAME" +REPO="https://storage.googleapis.com/$GCP_LINUX_PACKAGES_BUCKET/$CI_COMMIT_REF_NAME" DISTRO=$1 RELEASE=$2