From cb6ea6037b3be748b20a9db104b9dcd1648e228e Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Fri, 12 Apr 2024 09:24:00 +0200 Subject: [PATCH 1/3] packaging: make sure to use the correct image for each distribuition --- .../ci/jobs/build/oc.build:dpkg:amd64-manual.yml | 4 ++-- .gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml | 4 ++-- .gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml | 4 ++-- .gitlab/ci/jobs/build/oc.build:rpm:amd64.yml | 4 ++-- .gitlab/ci/jobs/shared/images.yml | 2 ++ .gitlab/ci/pipelines/non_release_tag.yml | 8 ++++---- .gitlab/ci/pipelines/non_release_tag_test.yml | 8 ++++---- .gitlab/ci/pipelines/octez_beta_release_tag.yml | 8 ++++---- .gitlab/ci/pipelines/octez_release_tag.yml | 8 ++++---- .gitlab/ci/pipelines/octez_release_tag_test.yml | 8 ++++---- ci/bin/common.ml | 13 +++++-------- 11 files changed, 35 insertions(+), 36 deletions(-) diff --git a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml index 4789cc8c9246..5a88a5892767 100644 --- a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml +++ b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml @@ -2,7 +2,7 @@ # Edit file ci/bin/main.ml instead. oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: manual tags: - gcp @@ -39,7 +39,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml index 11a24418e412..0dbeab1420e6 100644 --- a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml +++ b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml @@ -2,7 +2,7 @@ # Edit file ci/bin/main.ml instead. oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: build tags: - gcp @@ -36,7 +36,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml b/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml index 245325c7d261..565dbd72e4c5 100644 --- a/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml +++ b/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml @@ -2,7 +2,7 @@ # Edit file ci/bin/main.ml instead. oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: manual tags: - gcp @@ -36,7 +36,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml b/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml index a035eec0bdc2..cea8a33275de 100644 --- a/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml +++ b/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml @@ -2,7 +2,7 @@ # Edit file ci/bin/main.ml instead. oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: build tags: - gcp @@ -33,7 +33,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/jobs/shared/images.yml b/.gitlab/ci/jobs/shared/images.yml index 43cdde0eb3b7..d72b55439cdd 100644 --- a/.gitlab/ci/jobs/shared/images.yml +++ b/.gitlab/ci/jobs/shared/images.yml @@ -15,6 +15,8 @@ image: fedora:37 .image_template__fedora_39: image: fedora:39 +.image_template__generic: + image: $DISTRIBUTION .image_template__hadolint: image: hadolint/hadolint:2.9.3-debian .image_template__opam_debian_bullseye: diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index 3f54021a63a8..f44d57b9088a 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -80,7 +80,7 @@ oc.docker:arm64: rust_toolchain_image_tag: is-never-pulled oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: build tags: - gcp @@ -114,7 +114,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: @@ -123,7 +123,7 @@ oc.build:dpkg:amd64: - ubuntu:focal oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: build tags: - gcp @@ -154,7 +154,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index 7db85d27bc7d..8740b47f64dd 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -80,7 +80,7 @@ oc.docker:arm64: rust_toolchain_image_tag: is-never-pulled oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: build tags: - gcp @@ -114,7 +114,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: @@ -123,7 +123,7 @@ oc.build:dpkg:amd64: - ubuntu:focal oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: build tags: - gcp @@ -154,7 +154,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index 298f5e446da8..6e568846ff90 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -80,7 +80,7 @@ oc.docker:arm64: rust_toolchain_image_tag: is-never-pulled oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: build tags: - gcp @@ -114,7 +114,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: @@ -123,7 +123,7 @@ oc.build:dpkg:amd64: - ubuntu:focal oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: build tags: - gcp @@ -154,7 +154,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index 0a41b7c2b1d1..ef4335251ddc 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -80,7 +80,7 @@ oc.docker:arm64: rust_toolchain_image_tag: is-never-pulled oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: build tags: - gcp @@ -114,7 +114,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: @@ -123,7 +123,7 @@ oc.build:dpkg:amd64: - ubuntu:focal oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: build tags: - gcp @@ -154,7 +154,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index 9fb1e52572c6..81d5b4f7c2dd 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -80,7 +80,7 @@ oc.docker:arm64: rust_toolchain_image_tag: is-never-pulled oc.build:dpkg:amd64: - image: debian:bookworm + image: $DISTRIBUTION stage: build tags: - gcp @@ -114,7 +114,7 @@ oc.build:dpkg:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.deb + - packages/ when: on_success parallel: matrix: @@ -123,7 +123,7 @@ oc.build:dpkg:amd64: - ubuntu:focal oc.build:rpm:amd64: - image: fedora:39 + image: $DISTRIBUTION stage: build tags: - gcp @@ -154,7 +154,7 @@ oc.build:rpm:amd64: name: ${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG expire_in: 1 day paths: - - $DISTRIBUTION/octez-*.rpm + - packages/ when: on_success parallel: matrix: diff --git a/ci/bin/common.ml b/ci/bin/common.ml index 5abfd2be1f7d..d1f88da58cf5 100644 --- a/ci/bin/common.ml +++ b/ci/bin/common.ml @@ -677,13 +677,14 @@ let job_docker_merge_manifests ~__POS__ ~ci_docker_hub ~job_docker_amd64 type bin_package_target = Dpkg | Rpm +let bin_package_image = + Image.register ~name:"generic" ~image_path:"$DISTRIBUTION" + let job_build_bin_package ?dependencies ?rules ~__POS__ ~name ?(stage = Stages.build) ~arch ~target () : tezos_job = let arch_string = arch_to_string_alt arch in let target_string = match target with Dpkg -> "dpkg" | Rpm -> "rpm" in - let image = - match target with Dpkg -> Images.debian_bookworm | Rpm -> Images.fedora_39 - in + let image = bin_package_image in let parallel = let distributions = match target with @@ -693,15 +694,11 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name Matrix [[("DISTRIBUTION", distributions)]] in let artifacts = - let artifact_path = - "$DISTRIBUTION" - // ("octez-*." ^ match target with Dpkg -> "deb" | Rpm -> "rpm") - in artifacts ~expire_in:(Duration (Days 1)) ~when_:On_success ~name:"${TARGET}-$ARCH-$CI_COMMIT_REF_SLUG" - [artifact_path] + ["packages/"] in let before_script = before_script -- GitLab From e7fbe50256289fcbc819639c519f2728a2e33f8c Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Fri, 12 Apr 2024 09:35:09 +0200 Subject: [PATCH 2/3] packaging: add ubuntu jammy to the packaging matrix --- .gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml | 2 ++ .gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml | 2 ++ .gitlab/ci/pipelines/non_release_tag.yml | 2 ++ .gitlab/ci/pipelines/non_release_tag_test.yml | 2 ++ .gitlab/ci/pipelines/octez_beta_release_tag.yml | 2 ++ .gitlab/ci/pipelines/octez_release_tag.yml | 2 ++ .gitlab/ci/pipelines/octez_release_tag_test.yml | 2 ++ ci/bin/common.ml | 3 ++- 8 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml index 5a88a5892767..ec3f84eafb0d 100644 --- a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml +++ b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml @@ -13,6 +13,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -46,3 +47,4 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy diff --git a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml index 0dbeab1420e6..b2a7a91fc856 100644 --- a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml +++ b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml @@ -10,6 +10,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -43,3 +44,4 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index f44d57b9088a..78e1c9c16f21 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -88,6 +88,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -121,6 +122,7 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy oc.build:rpm:amd64: image: $DISTRIBUTION diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index 8740b47f64dd..fe18f06d7f9a 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -88,6 +88,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -121,6 +122,7 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy oc.build:rpm:amd64: image: $DISTRIBUTION diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index 6e568846ff90..ca335f42fbaf 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -88,6 +88,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -121,6 +122,7 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy oc.build:rpm:amd64: image: $DISTRIBUTION diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index ef4335251ddc..e14671d8bc4d 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -88,6 +88,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -121,6 +122,7 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy oc.build:rpm:amd64: image: $DISTRIBUTION diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index 81d5b4f7c2dd..d8c3ef7dc590 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -88,6 +88,7 @@ oc.build:dpkg:amd64: dependencies: [] before_script: - . ./scripts/version.sh + - export DEBIAN_FRONTEND=noninteractive - 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 @@ -121,6 +122,7 @@ oc.build:dpkg:amd64: - DISTRIBUTION: - debian:bookworm - ubuntu:focal + - ubuntu:jammy oc.build:rpm:amd64: image: $DISTRIBUTION diff --git a/ci/bin/common.ml b/ci/bin/common.ml index d1f88da58cf5..1523cb7b2ecb 100644 --- a/ci/bin/common.ml +++ b/ci/bin/common.ml @@ -688,7 +688,7 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name let parallel = let distributions = match target with - | Dpkg -> ["debian:bookworm"; "ubuntu:focal"] + | Dpkg -> ["debian:bookworm"; "ubuntu:focal"; "ubuntu:jammy"] | Rpm -> ["fedora:39"; "rockylinux:9.3"] in Matrix [[("DISTRIBUTION", distributions)]] @@ -706,6 +706,7 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name (match target with | Dpkg -> [ + "export DEBIAN_FRONTEND=noninteractive"; "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 \ -- GitLab From 92b5064ab024dd1d3d7ffef8cfad24634e8e5074 Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Fri, 12 Apr 2024 09:48:56 +0200 Subject: [PATCH 3/3] packaging: add distro release in release page --- .../jobs/build/oc.build:dpkg:amd64-manual.yml | 6 +++-- .gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml | 6 +++-- .../jobs/build/oc.build:rpm:amd64-manual.yml | 6 +++-- .gitlab/ci/jobs/build/oc.build:rpm:amd64.yml | 6 +++-- .gitlab/ci/pipelines/non_release_tag.yml | 12 ++++++--- .gitlab/ci/pipelines/non_release_tag_test.yml | 12 ++++++--- .../ci/pipelines/octez_beta_release_tag.yml | 12 ++++++--- .gitlab/ci/pipelines/octez_release_tag.yml | 12 ++++++--- .../ci/pipelines/octez_release_tag_test.yml | 12 ++++++--- ci/bin/common.ml | 6 +++-- scripts/ci/create_gitlab_package.sh | 26 +++++++++++++------ scripts/ci/create_gitlab_release.sh | 10 ++++--- scripts/ci/octez-release.sh | 14 +++++----- 13 files changed, 92 insertions(+), 48 deletions(-) diff --git a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml index ec3f84eafb0d..fd15389ebc0e 100644 --- a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml +++ b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64-manual.yml @@ -29,8 +29,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml index b2a7a91fc856..720312ec70a5 100644 --- a/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml +++ b/.gitlab/ci/jobs/build/oc.build:dpkg:amd64.yml @@ -26,8 +26,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml b/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml index 565dbd72e4c5..f7dad6b50c45 100644 --- a/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml +++ b/.gitlab/ci/jobs/build/oc.build:rpm:amd64-manual.yml @@ -25,8 +25,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml b/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml index cea8a33275de..3a927a3fe954 100644 --- a/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml +++ b/.gitlab/ci/jobs/build/oc.build:rpm:amd64.yml @@ -22,8 +22,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index 78e1c9c16f21..95dc73d228aa 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -104,8 +104,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs @@ -145,8 +147,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index fe18f06d7f9a..e6c30d86e7c2 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -104,8 +104,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs @@ -145,8 +147,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index ca335f42fbaf..5a2db2902b43 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -104,8 +104,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs @@ -145,8 +147,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index e14671d8bc4d..d15ce45457d0 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -104,8 +104,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs @@ -145,8 +147,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index d8c3ef7dc590..461c2c32b089 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -104,8 +104,10 @@ oc.build:dpkg:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: dpkg OCTEZ_PKGMAINTAINER: nomadic-labs @@ -145,8 +147,10 @@ oc.build:rpm:amd64: - make build-deps - eval $(opam env) - make $TARGET - - mkdir $DISTRIBUTION - - mv octez-*.* $DISTRIBUTION/ + - DISTRO=$(echo "$DISTRIBUTION" | cut -d':' -f1) + - RELEASE=$(echo "$DISTRIBUTION" | cut -d':' -f2) + - mkdir -p packages/$DISTRO/$RELEASE + - mv octez-*.* packages/$DISTRO/$RELEASE/ variables: TARGET: rpm OCTEZ_PKGMAINTAINER: nomadic-labs diff --git a/ci/bin/common.ml b/ci/bin/common.ml index 1523cb7b2ecb..7bdb558b67d4 100644 --- a/ci/bin/common.ml +++ b/ci/bin/common.ml @@ -744,8 +744,10 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name "make build-deps"; "eval $(opam env)"; "make $TARGET"; - "mkdir $DISTRIBUTION"; - "mv octez-*.* $DISTRIBUTION/"; + "DISTRO=$(echo \"$DISTRIBUTION\" | cut -d':' -f1)"; + "RELEASE=$(echo \"$DISTRIBUTION\" | cut -d':' -f2)"; + "mkdir -p packages/$DISTRO/$RELEASE"; + "mv octez-*.* packages/$DISTRO/$RELEASE/"; ] let job_build_dpkg_amd64 : unit -> tezos_job = diff --git a/scripts/ci/create_gitlab_package.sh b/scripts/ci/create_gitlab_package.sh index 9558c8b3a411..5f5a1bfd026e 100755 --- a/scripts/ci/create_gitlab_package.sh +++ b/scripts/ci/create_gitlab_package.sh @@ -14,8 +14,12 @@ set -eu # https://docs.gitlab.com/ee/user/packages/generic_packages/index.html#download-package-file # :gitlab_api_url/projects/:id/packages/generic/:package_name/:package_version/:file_name gitlab_octez_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_binaries_package_name}/${gitlab_package_version}" -gitlab_octez_debian_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_debian_package_name}/${gitlab_package_version}" -gitlab_octez_ubuntu_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_ubuntu_package_name}/${gitlab_package_version}" + +gitlab_octez_debian_bookworm_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_debian_bookworm_package_name}/${gitlab_package_version}" + +gitlab_octez_ubuntu_focal_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_ubuntu_focal_package_name}/${gitlab_package_version}" +gitlab_octez_ubuntu_jammy_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_ubuntu_jammy_package_name}/${gitlab_package_version}" + gitlab_octez_fedora_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_fedora_package_name}/${gitlab_package_version}" gitlab_octez_rockylinux_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_rockylinux_package_name}/${gitlab_package_version}" gitlab_octez_source_package_url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${gitlab_octez_source_package_name}/${gitlab_package_version}" @@ -72,16 +76,22 @@ for architecture in ${architectures}; do cd .. done -echo "Upload debian packages" -for package in ${debian_packages}; do +echo "Upload debian bookworm packages" +for package in ${debian_bookworm_packages}; do + package_name="$(basename "${package}")" + gitlab_upload "./${package}" "${package_name}" "${gitlab_octez_debian_bookworm_package_url}" +done + +echo "Upload Ubuntu focal packages" +for package in ${ubuntu_focal_packages}; do package_name="$(basename "${package}")" - gitlab_upload "./${package}" "${package_name}" "${gitlab_octez_debian_package_url}" + gitlab_upload "./${package}" "${package_name}" "${gitlab_octez_ubuntu_focal_package_url}" done -echo "Upload Ubuntu packages" -for package in ${ubuntu_packages}; do +echo "Upload Ubuntu jammy packages" +for package in ${ubuntu_jammy_packages}; do package_name="$(basename "${package}")" - gitlab_upload "./${package}" "${package_name}" "${gitlab_octez_ubuntu_package_url}" + gitlab_upload "./${package}" "${package_name}" "${gitlab_octez_ubuntu_jammy_package_url}" done echo "Upload Fedora packages" diff --git a/scripts/ci/create_gitlab_release.sh b/scripts/ci/create_gitlab_release.sh index 99978fd6c948..8deb3888c0ce 100755 --- a/scripts/ci/create_gitlab_release.sh +++ b/scripts/ci/create_gitlab_release.sh @@ -31,8 +31,9 @@ package_web_path() { gitlab_binaries_url=$(package_web_path "${gitlab_octez_binaries_package_name}") gitlab_octez_source_url=$(package_web_path "${gitlab_octez_source_package_name}") -gitlab_debian_packages_url=$(package_web_path "${gitlab_octez_debian_package_name}") -gitlab_ubuntu_packages_url=$(package_web_path "${gitlab_octez_ubuntu_package_name}") +gitlab_debian_bookworm_packages_url=$(package_web_path "${gitlab_octez_debian_bookworm_package_name}") +gitlab_ubuntu_focal_packages_url=$(package_web_path "${gitlab_octez_ubuntu_focal_package_name}") +gitlab_ubuntu_jammy_packages_url=$(package_web_path "${gitlab_octez_ubuntu_jammy_package_name}") gitlab_fedora_packages_url=$(package_web_path "${gitlab_octez_fedora_package_name}") gitlab_rockylinux_packages_url=$(package_web_path "${gitlab_octez_rockylinux_package_name}") @@ -74,7 +75,8 @@ release-cli create \ --assets-link="{\"name\":\"Docker image\",\"url\":\"${docker_image_url}\",\"link_type\":\"image\"}" \ --assets-link="{\"name\":\"Static binaries\",\"url\":\"${gitlab_binaries_url}\",\"link_type\":\"package\"}" \ --assets-link="{\"name\":\"Octez source\",\"url\":\"${gitlab_octez_source_url}\",\"link_type\":\"other\"}" \ - --assets-link="{\"name\":\"Debian packages\",\"url\":\"${gitlab_debian_packages_url}\",\"link_type\":\"package\"}" \ - --assets-link="{\"name\":\"Ubuntu packages\",\"url\":\"${gitlab_ubuntu_packages_url}\",\"link_type\":\"package\"}" \ + --assets-link="{\"name\":\"Debian Bookworm packages\",\"url\":\"${gitlab_debian_bookworm_packages_url}\",\"link_type\":\"package\"}" \ + --assets-link="{\"name\":\"Ubuntu Focal packages\",\"url\":\"${gitlab_ubuntu_focal_packages_url}\",\"link_type\":\"package\"}" \ + --assets-link="{\"name\":\"Ubuntu Jammy packages\",\"url\":\"${gitlab_ubuntu_jammy_packages_url}\",\"link_type\":\"package\"}" \ --assets-link="{\"name\":\"Fedora packages\",\"url\":\"${gitlab_fedora_packages_url}\",\"link_type\":\"package\"}" \ --assets-link="{\"name\":\"Rocky Linux packages\",\"url\":\"${gitlab_rockylinux_packages_url}\",\"link_type\":\"package\"}" diff --git a/scripts/ci/octez-release.sh b/scripts/ci/octez-release.sh index dad5f3412e00..e9074b8f74e4 100755 --- a/scripts/ci/octez-release.sh +++ b/scripts/ci/octez-release.sh @@ -13,10 +13,11 @@ script_inputs_dir="$src_dir/script-inputs" binaries="$(cat "$script_inputs_dir/released-executables")" # these variables are used in the script scripts/ci/create_gitlab_package.sh -debian_packages="$(find debian:bookworm/ -maxdepth 1 -name octez-\*.deb)" -ubuntu_packages="$(find ubuntu:focal/ -maxdepth 1 -name octez-\*.deb)" -fedora_packages="$(find fedora:39/ -maxdepth 1 -name octez-\*.rpm)" -rockylinux_packages="$(find rockylinux:9.3/ -maxdepth 1 -name octez-\*.rpm)" +debian_bookworm_packages="$(find packages/debian/bookworm/ -maxdepth 1 -name octez-\*.deb)" +ubuntu_focal_packages="$(find packages/ubuntu/focal/ -maxdepth 1 -name octez-\*.deb)" +ubuntu_jammy_packages="$(find packages/ubuntu/jammy/ -maxdepth 1 -name octez-\*.deb)" +fedora_packages="$(find packages/fedora/39/ -maxdepth 1 -name octez-\*.rpm)" +rockylinux_packages="$(find packages/rockylinux/9.3/ -maxdepth 1 -name octez-\*.rpm)" octez_source_content="$script_inputs_dir/octez-source-content" @@ -56,8 +57,9 @@ fi ### Compute GitLab generic package names gitlab_octez_binaries_package_name="octez-binaries-${gitlab_release_no_v}" -gitlab_octez_debian_package_name="octez-debian-${gitlab_release_no_v}" -gitlab_octez_ubuntu_package_name="octez-ubuntu-${gitlab_release_no_v}" +gitlab_octez_debian_bookworm_package_name="octez-debian-bookworm-${gitlab_release_no_v}" +gitlab_octez_ubuntu_focal_package_name="octez-ubuntu-focal-${gitlab_release_no_v}" +gitlab_octez_ubuntu_jammy_package_name="octez-ubuntu-jammy-${gitlab_release_no_v}" gitlab_octez_fedora_package_name="octez-fedora-${gitlab_release_no_v}" gitlab_octez_rockylinux_package_name="octez-rockylinux-${gitlab_release_no_v}" gitlab_octez_source_package_name="octez-source-${gitlab_release_no_v}" -- GitLab