From 73acc2646643561d6e5959e4670d62eaec35dbff Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Fri, 14 Jun 2024 16:22:08 +0200 Subject: [PATCH 1/4] packaging current: add DAL deb package --- scripts/dpkg/dal-node-control.in | 7 +++++++ scripts/dpkg/make_dpkg.sh | 15 +++++++++++++-- scripts/pkg-common/dal-node-binaries | 1 + scripts/pkg-common/dal-node-zcash | 2 ++ scripts/pkg-common/experimental-binaries | 2 ++ scripts/pkg-common/utils.sh | 7 +++---- 6 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 scripts/dpkg/dal-node-control.in create mode 100644 scripts/pkg-common/dal-node-binaries create mode 100644 scripts/pkg-common/dal-node-zcash diff --git a/scripts/dpkg/dal-node-control.in b/scripts/dpkg/dal-node-control.in new file mode 100644 index 000000000000..6217e66e166d --- /dev/null +++ b/scripts/dpkg/dal-node-control.in @@ -0,0 +1,7 @@ +Package: @PKG@ +Version: @VERSION@ +Architecture: @ARCH@ +Maintainer: @MAINT@ +Description: The Octez DAL node binaries +Recommends: @DPKG@-baker (>=@VERSION@), @DPKG@-client (>=@VERSION@) +Depends: @DEPENDS@ diff --git a/scripts/dpkg/make_dpkg.sh b/scripts/dpkg/make_dpkg.sh index 45ef6900e5b0..0b5602193f03 100755 --- a/scripts/dpkg/make_dpkg.sh +++ b/scripts/dpkg/make_dpkg.sh @@ -122,8 +122,19 @@ for control_file in "$myhome"/*control.in; do # Zcash parameters ships with some packages # - zcashParams "${common}/${pg}-zcash" \ - "${staging_dir}/usr/share/zcash-params" + if [ "$pg" = "node" ]; then + zcashParams "${common}/${pg}-zcash" \ + "${staging_dir}/usr/share/zcash-params" + fi + + if [ "$pg" = "dal-node" ]; then + # call the install script to make available the + # zcash parameters on the build host + scripts/install_dal_trusted_setup.sh + zcashParams "${common}/${pg}-zcash" \ + "${staging_dir}/usr/share/dal-trusted-setup" \ + _opam/share/dal-trusted-setup + fi # Build the package # diff --git a/scripts/pkg-common/dal-node-binaries b/scripts/pkg-common/dal-node-binaries new file mode 100644 index 000000000000..63c6b96fd145 --- /dev/null +++ b/scripts/pkg-common/dal-node-binaries @@ -0,0 +1 @@ +octez-dal-node diff --git a/scripts/pkg-common/dal-node-zcash b/scripts/pkg-common/dal-node-zcash new file mode 100644 index 000000000000..425e593e53bd --- /dev/null +++ b/scripts/pkg-common/dal-node-zcash @@ -0,0 +1,2 @@ +srsu_zcash_g1 +srsu_zcash_g2 diff --git a/scripts/pkg-common/experimental-binaries b/scripts/pkg-common/experimental-binaries index 7aef9e4e3d52..72bef5b76b82 100644 --- a/scripts/pkg-common/experimental-binaries +++ b/scripts/pkg-common/experimental-binaries @@ -3,3 +3,5 @@ octez-dac-client octez-dal-node octez-accuser-alpha octez-baker-alpha +octez-dac-node +octez-dac-client diff --git a/scripts/pkg-common/utils.sh b/scripts/pkg-common/utils.sh index ce84e35646d1..07ffd252e248 100644 --- a/scripts/pkg-common/utils.sh +++ b/scripts/pkg-common/utils.sh @@ -44,9 +44,6 @@ protocols=$(tr '\n' ' ' < $proto_file | sed -e 's/ $//g') # Variables # -# Where the zcash files are -zcashdir="_opam/share/zcash-params" -# # Package maintainer OCTEZ_PKGMAINTAINER=${OCTEZ_PKGMAINTAINER:-package@nomadic-labs.com} # @@ -175,13 +172,15 @@ fixBinaryList() { zcashParams() { _pkgzcash=$1 _zcashtgt=$2 + # Where the zcash files are + _zcashdir=${3:-"_opam/share/zcash-params"} if [ -f "${_pkgzcash}" ]; then zcashstuff=$(cat "${_pkgzcash}" 2> /dev/null) echo "=> Zcash" mkdir -p "${_zcashtgt}" for shr in ${zcashstuff}; do - cp "${zcashdir}/${shr}" \ + cp "${_zcashdir}/${shr}" \ "${_zcashtgt}" done fi -- GitLab From c5097300f0ae2929b592d71e209c85e8b305e22f Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Wed, 17 Jul 2024 12:01:38 +0200 Subject: [PATCH 2/4] packages current: split packages in group A and B --- Makefile | 3 ++- scripts/dpkg/{ => A}/baker-control.in | 0 scripts/dpkg/{ => A}/baker.postinst | 0 scripts/dpkg/{ => A}/client-control.in | 0 scripts/dpkg/{ => A}/node-control.in | 0 scripts/dpkg/{ => A}/node.postinst | 0 scripts/dpkg/{ => A}/signer-control.in | 0 scripts/dpkg/{ => A}/signer.postinst | 0 scripts/dpkg/{ => B}/dal-node-control.in | 0 scripts/dpkg/{ => B}/evmnode-control.in | 0 scripts/dpkg/{ => B}/evmnode.postinst | 0 scripts/dpkg/{ => B}/experimental-control.in | 0 scripts/dpkg/{ => B}/smartrollup-control.in | 0 scripts/dpkg/{ => B}/smartrollup.postinst | 0 scripts/dpkg/make_dpkg.sh | 2 +- 15 files changed, 3 insertions(+), 2 deletions(-) rename scripts/dpkg/{ => A}/baker-control.in (100%) rename scripts/dpkg/{ => A}/baker.postinst (100%) rename scripts/dpkg/{ => A}/client-control.in (100%) rename scripts/dpkg/{ => A}/node-control.in (100%) rename scripts/dpkg/{ => A}/node.postinst (100%) rename scripts/dpkg/{ => A}/signer-control.in (100%) rename scripts/dpkg/{ => A}/signer.postinst (100%) rename scripts/dpkg/{ => B}/dal-node-control.in (100%) rename scripts/dpkg/{ => B}/evmnode-control.in (100%) rename scripts/dpkg/{ => B}/evmnode.postinst (100%) rename scripts/dpkg/{ => B}/experimental-control.in (100%) rename scripts/dpkg/{ => B}/smartrollup-control.in (100%) rename scripts/dpkg/{ => B}/smartrollup.postinst (100%) diff --git a/Makefile b/Makefile index cef0a9822e4c..3f20f8d1d1ed 100644 --- a/Makefile +++ b/Makefile @@ -433,7 +433,8 @@ fmt-python: .PHONY: dpkg dpkg: all - @./scripts/dpkg/make_dpkg.sh + @./scripts/dpkg/make_dpkg.sh scripts/dpkg/A + @./scripts/dpkg/make_dpkg.sh scripts/dpkg/B .PHONY: rpm rpm: all diff --git a/scripts/dpkg/baker-control.in b/scripts/dpkg/A/baker-control.in similarity index 100% rename from scripts/dpkg/baker-control.in rename to scripts/dpkg/A/baker-control.in diff --git a/scripts/dpkg/baker.postinst b/scripts/dpkg/A/baker.postinst similarity index 100% rename from scripts/dpkg/baker.postinst rename to scripts/dpkg/A/baker.postinst diff --git a/scripts/dpkg/client-control.in b/scripts/dpkg/A/client-control.in similarity index 100% rename from scripts/dpkg/client-control.in rename to scripts/dpkg/A/client-control.in diff --git a/scripts/dpkg/node-control.in b/scripts/dpkg/A/node-control.in similarity index 100% rename from scripts/dpkg/node-control.in rename to scripts/dpkg/A/node-control.in diff --git a/scripts/dpkg/node.postinst b/scripts/dpkg/A/node.postinst similarity index 100% rename from scripts/dpkg/node.postinst rename to scripts/dpkg/A/node.postinst diff --git a/scripts/dpkg/signer-control.in b/scripts/dpkg/A/signer-control.in similarity index 100% rename from scripts/dpkg/signer-control.in rename to scripts/dpkg/A/signer-control.in diff --git a/scripts/dpkg/signer.postinst b/scripts/dpkg/A/signer.postinst similarity index 100% rename from scripts/dpkg/signer.postinst rename to scripts/dpkg/A/signer.postinst diff --git a/scripts/dpkg/dal-node-control.in b/scripts/dpkg/B/dal-node-control.in similarity index 100% rename from scripts/dpkg/dal-node-control.in rename to scripts/dpkg/B/dal-node-control.in diff --git a/scripts/dpkg/evmnode-control.in b/scripts/dpkg/B/evmnode-control.in similarity index 100% rename from scripts/dpkg/evmnode-control.in rename to scripts/dpkg/B/evmnode-control.in diff --git a/scripts/dpkg/evmnode.postinst b/scripts/dpkg/B/evmnode.postinst similarity index 100% rename from scripts/dpkg/evmnode.postinst rename to scripts/dpkg/B/evmnode.postinst diff --git a/scripts/dpkg/experimental-control.in b/scripts/dpkg/B/experimental-control.in similarity index 100% rename from scripts/dpkg/experimental-control.in rename to scripts/dpkg/B/experimental-control.in diff --git a/scripts/dpkg/smartrollup-control.in b/scripts/dpkg/B/smartrollup-control.in similarity index 100% rename from scripts/dpkg/smartrollup-control.in rename to scripts/dpkg/B/smartrollup-control.in diff --git a/scripts/dpkg/smartrollup.postinst b/scripts/dpkg/B/smartrollup.postinst similarity index 100% rename from scripts/dpkg/smartrollup.postinst rename to scripts/dpkg/B/smartrollup.postinst diff --git a/scripts/dpkg/make_dpkg.sh b/scripts/dpkg/make_dpkg.sh index 0b5602193f03..5fd74b0b2696 100755 --- a/scripts/dpkg/make_dpkg.sh +++ b/scripts/dpkg/make_dpkg.sh @@ -9,7 +9,7 @@ set -eu # Setup # -myhome=scripts/dpkg +myhome=${1:-scripts/dpkg} common=scripts/pkg-common dieonwarn=${dieonwarn:-1} -- GitLab From 98d0297600aecc84ec4c5a48bd4db09e49777303 Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Wed, 17 Jul 2024 13:33:09 +0200 Subject: [PATCH 3/4] ci: split current build jobs for packages --- .gitlab/ci/pipelines/before_merging.yml | 3 +- .../ci/pipelines/debian_repository_full.yml | 72 +++++++++++++-- .../pipelines/debian_repository_partial.yml | 34 +++++++- .gitlab/ci/pipelines/non_release_tag.yml | 87 ++++++++++++++++--- .gitlab/ci/pipelines/non_release_tag_test.yml | 87 ++++++++++++++++--- .../ci/pipelines/octez_beta_release_tag.yml | 87 ++++++++++++++++--- .gitlab/ci/pipelines/octez_release_tag.yml | 87 ++++++++++++++++--- .../ci/pipelines/octez_release_tag_test.yml | 87 ++++++++++++++++--- .../ci/pipelines/schedule_extended_test.yml | 3 +- Makefile | 16 +++- ci/bin/code_verification.ml | 1 + ci/bin/common.ml | 9 +- ci/bin/debian_repository.ml | 71 +++++++++++---- ci/bin/release_tag.ml | 12 ++- scripts/ci/build-debian-packages_current.sh | 2 +- 15 files changed, 551 insertions(+), 107 deletions(-) diff --git a/.gitlab/ci/pipelines/before_merging.yml b/.gitlab/ci/pipelines/before_merging.yml index d27dd73900a7..b9ba2f63d37d 100644 --- a/.gitlab/ci/pipelines/before_merging.yml +++ b/.gitlab/ci/pipelines/before_merging.yml @@ -3486,13 +3486,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 diff --git a/.gitlab/ci/pipelines/debian_repository_full.yml b/.gitlab/ci/pipelines/debian_repository_full.yml index 58952a32e311..068cf1117bf4 100644 --- a/.gitlab/ci/pipelines/debian_repository_full.yml +++ b/.gitlab/ci/pipelines/debian_repository_full.yml @@ -63,7 +63,7 @@ oc.build-debian: - gcp - gcp_arm64 -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -73,7 +73,33 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - unstable + - bookworm + TAGS: + - gcp + - gcp_arm64 + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -95,9 +121,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh @@ -158,7 +186,33 @@ oc.build-ubuntu: - gcp - gcp_arm64 -oc.build-ubuntu-current: +oc.build-ubuntu-current_a: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-ubuntu-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: ubuntu + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - focal + - jammy + TAGS: + - gcp + - gcp_arm64 + +oc.build-ubuntu-current_b: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -168,7 +222,7 @@ oc.build-ubuntu-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: ubuntu @@ -190,9 +244,11 @@ apt_repo_ubuntu_current: tags: - gcp needs: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b dependencies: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/debian_repository_partial.yml b/.gitlab/ci/pipelines/debian_repository_partial.yml index 700c93e7d3c0..5ab2eddebad5 100644 --- a/.gitlab/ci/pipelines/debian_repository_partial.yml +++ b/.gitlab/ci/pipelines/debian_repository_partial.yml @@ -59,7 +59,7 @@ oc.build-debian: TAGS: - gcp -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -69,7 +69,31 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - bookworm + TAGS: + - gcp + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -89,9 +113,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/non_release_tag.yml b/.gitlab/ci/pipelines/non_release_tag.yml index 71c0cd9d9324..db393bcce770 100644 --- a/.gitlab/ci/pipelines/non_release_tag.yml +++ b/.gitlab/ci/pipelines/non_release_tag.yml @@ -174,13 +174,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 @@ -226,14 +227,18 @@ gitlab:publish: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b dependencies: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b interruptible: false script: - ${CI_PROJECT_DIR}/scripts/ci/create_gitlab_package.sh @@ -289,7 +294,7 @@ oc.build-debian: - gcp - gcp_arm64 -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -299,7 +304,33 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - unstable + - bookworm + TAGS: + - gcp + - gcp_arm64 + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -321,9 +352,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh @@ -384,7 +417,33 @@ oc.build-ubuntu: - gcp - gcp_arm64 -oc.build-ubuntu-current: +oc.build-ubuntu-current_a: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-ubuntu-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: ubuntu + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - focal + - jammy + TAGS: + - gcp + - gcp_arm64 + +oc.build-ubuntu-current_b: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -394,7 +453,7 @@ oc.build-ubuntu-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: ubuntu @@ -416,9 +475,11 @@ apt_repo_ubuntu_current: tags: - gcp needs: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b dependencies: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/non_release_tag_test.yml b/.gitlab/ci/pipelines/non_release_tag_test.yml index 4fd947c66806..0d46105c9569 100644 --- a/.gitlab/ci/pipelines/non_release_tag_test.yml +++ b/.gitlab/ci/pipelines/non_release_tag_test.yml @@ -174,13 +174,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 @@ -226,14 +227,18 @@ gitlab:publish: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b dependencies: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b interruptible: false script: - ${CI_PROJECT_DIR}/scripts/ci/create_gitlab_package.sh @@ -289,7 +294,7 @@ oc.build-debian: - gcp - gcp_arm64 -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -299,7 +304,33 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - unstable + - bookworm + TAGS: + - gcp + - gcp_arm64 + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -321,9 +352,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh @@ -384,7 +417,33 @@ oc.build-ubuntu: - gcp - gcp_arm64 -oc.build-ubuntu-current: +oc.build-ubuntu-current_a: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-ubuntu-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: ubuntu + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - focal + - jammy + TAGS: + - gcp + - gcp_arm64 + +oc.build-ubuntu-current_b: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -394,7 +453,7 @@ oc.build-ubuntu-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: ubuntu @@ -416,9 +475,11 @@ apt_repo_ubuntu_current: tags: - gcp needs: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b dependencies: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/octez_beta_release_tag.yml b/.gitlab/ci/pipelines/octez_beta_release_tag.yml index fea52189cf34..cd0a32b21415 100644 --- a/.gitlab/ci/pipelines/octez_beta_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_beta_release_tag.yml @@ -174,13 +174,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 @@ -226,14 +227,18 @@ gitlab:release: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b dependencies: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b interruptible: false script: - ./scripts/ci/restrict_export_to_octez_source.sh @@ -290,7 +295,7 @@ oc.build-debian: - gcp - gcp_arm64 -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -300,7 +305,33 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - unstable + - bookworm + TAGS: + - gcp + - gcp_arm64 + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -322,9 +353,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh @@ -385,7 +418,33 @@ oc.build-ubuntu: - gcp - gcp_arm64 -oc.build-ubuntu-current: +oc.build-ubuntu-current_a: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-ubuntu-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: ubuntu + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - focal + - jammy + TAGS: + - gcp + - gcp_arm64 + +oc.build-ubuntu-current_b: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -395,7 +454,7 @@ oc.build-ubuntu-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: ubuntu @@ -417,9 +476,11 @@ apt_repo_ubuntu_current: tags: - gcp needs: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b dependencies: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/octez_release_tag.yml b/.gitlab/ci/pipelines/octez_release_tag.yml index 48e72b51ff49..f49c61be65fd 100644 --- a/.gitlab/ci/pipelines/octez_release_tag.yml +++ b/.gitlab/ci/pipelines/octez_release_tag.yml @@ -175,13 +175,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 @@ -227,14 +228,18 @@ gitlab:release: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b dependencies: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b interruptible: false script: - ./scripts/ci/restrict_export_to_octez_source.sh @@ -291,7 +296,7 @@ oc.build-debian: - gcp - gcp_arm64 -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -301,7 +306,33 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - unstable + - bookworm + TAGS: + - gcp + - gcp_arm64 + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -323,9 +354,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh @@ -386,7 +419,33 @@ oc.build-ubuntu: - gcp - gcp_arm64 -oc.build-ubuntu-current: +oc.build-ubuntu-current_a: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-ubuntu-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: ubuntu + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - focal + - jammy + TAGS: + - gcp + - gcp_arm64 + +oc.build-ubuntu-current_b: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -396,7 +455,7 @@ oc.build-ubuntu-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: ubuntu @@ -418,9 +477,11 @@ apt_repo_ubuntu_current: tags: - gcp needs: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b dependencies: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/octez_release_tag_test.yml b/.gitlab/ci/pipelines/octez_release_tag_test.yml index 2e278d50fdd4..a720bbf0f90b 100644 --- a/.gitlab/ci/pipelines/octez_release_tag_test.yml +++ b/.gitlab/ci/pipelines/octez_release_tag_test.yml @@ -175,13 +175,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 @@ -227,14 +228,18 @@ gitlab:release: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b dependencies: - oc.build:static-x86_64-linux-binaries - oc.build:static-arm64-linux-binaries - oc.build:rpm:amd64 - - oc.build-ubuntu-current - - oc.build-debian-current + - oc.build-ubuntu-current_a + - oc.build-debian-current_a + - oc.build-ubuntu-current_b + - oc.build-debian-current_b interruptible: false script: - ./scripts/ci/restrict_export_to_octez_source.sh @@ -291,7 +296,7 @@ oc.build-debian: - gcp - gcp_arm64 -oc.build-debian-current: +oc.build-debian-current_a: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -301,7 +306,33 @@ oc.build-debian-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: debian + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - unstable + - bookworm + TAGS: + - gcp + - gcp_arm64 + +oc.build-debian-current_b: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-debian-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: debian @@ -323,9 +354,11 @@ apt_repo_debian_current: tags: - gcp needs: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b dependencies: - - oc.build-debian-current + - oc.build-debian-current_a + - oc.build-debian-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh @@ -386,7 +419,33 @@ oc.build-ubuntu: - gcp - gcp_arm64 -oc.build-ubuntu-current: +oc.build-ubuntu-current_a: + image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} + stage: build + tags: + - $TAGS + needs: + - oc.docker-build-ubuntu-dependencies + dependencies: [] + script: + - export CARGO_NET_OFFLINE=false + - ./scripts/ci/build-debian-packages_current.sh A + variables: + DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE + DISTRIBUTION: ubuntu + artifacts: + paths: + - packages/$DISTRIBUTION/$RELEASE + parallel: + matrix: + - RELEASE: + - focal + - jammy + TAGS: + - gcp + - gcp_arm64 + +oc.build-ubuntu-current_b: image: $DEP_IMAGE:${CI_COMMIT_REF_SLUG} stage: build tags: @@ -396,7 +455,7 @@ oc.build-ubuntu-current: dependencies: [] script: - export CARGO_NET_OFFLINE=false - - ./scripts/ci/build-debian-packages_current.sh + - ./scripts/ci/build-debian-packages_current.sh B variables: DEP_IMAGE: ${GCP_REGISTRY}/$CI_PROJECT_NAMESPACE/tezos/build-$DISTRIBUTION-$RELEASE DISTRIBUTION: ubuntu @@ -418,9 +477,11 @@ apt_repo_ubuntu_current: tags: - gcp needs: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b dependencies: - - oc.build-ubuntu-current + - oc.build-ubuntu-current_a + - oc.build-ubuntu-current_b before_script: - . ./scripts/version.sh - ./scripts/ci/prepare-apt-repo.sh diff --git a/.gitlab/ci/pipelines/schedule_extended_test.yml b/.gitlab/ci/pipelines/schedule_extended_test.yml index 42198a17461b..8b2cca640212 100644 --- a/.gitlab/ci/pipelines/schedule_extended_test.yml +++ b/.gitlab/ci/pipelines/schedule_extended_test.yml @@ -515,13 +515,14 @@ oc.build:rpm:amd64: - opam init --bare --disable-sandboxing - make build-deps - eval $(opam env) - - make $TARGET + - make $TARGET-$GROUP - 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 + GROUP: A OCTEZ_PKGMAINTAINER: nomadic-labs BLST_PORTABLE: "yes" ARCH: amd64 diff --git a/Makefile b/Makefile index 3f20f8d1d1ed..e3a825707c0a 100644 --- a/Makefile +++ b/Makefile @@ -431,15 +431,23 @@ fmt-ocaml: fmt-python: @$(MAKE) -C docs fmt -.PHONY: dpkg -dpkg: all +.PHONY: dpkg-A +dpkg-A: all @./scripts/dpkg/make_dpkg.sh scripts/dpkg/A + +.PHONY: dpkg-B +dpkg-B: all @./scripts/dpkg/make_dpkg.sh scripts/dpkg/B -.PHONY: rpm -rpm: all +.PHONY: dpkg +dpkg: all dpkg-A dpkg-B + +.PHONY: rpm-A +rpm-A: all @./scripts/rpm/make_rpm.sh +.PHONY: rpm +rpm: all rpm-A .PHONY: build-deps build-deps: diff --git a/ci/bin/code_verification.ml b/ci/bin/code_verification.ml index de63a3a217b5..a517000c01bd 100644 --- a/ci/bin/code_verification.ml +++ b/ci/bin/code_verification.ml @@ -1882,6 +1882,7 @@ let jobs pipeline_type = ~__POS__ ~name:"oc.build:rpm:amd64" ~target:Rpm + ~group:A ~arch:Tezos_ci.Amd64 ~rules:(make_rules ~manual:Yes ()) ~dependencies:(Dependent []) diff --git a/ci/bin/common.ml b/ci/bin/common.ml index 5c9faae10ee0..d764166563f2 100644 --- a/ci/bin/common.ml +++ b/ci/bin/common.ml @@ -862,10 +862,12 @@ let job_docker_promote_to_latest ?dependencies ~ci_docker_hub () : tezos_job = type bin_package_target = Rpm +type bin_package_group = A | B + let bin_package_image = Image.mk_external ~image_path:"$DISTRIBUTION" let job_build_bin_package ?dependencies ?rules ~__POS__ ~name - ?(stage = Stages.build) ~arch ~target () : tezos_job = + ?(stage = Stages.build) ~arch ~target ~group () : tezos_job = let arch_string = arch_to_string_alt arch in let target_string = match target with Rpm -> "rpm" in let image = bin_package_image in @@ -875,6 +877,7 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name in Matrix [[("DISTRIBUTION", distributions)]] in + let group_string = match group with A -> "A" | B -> "B" in let artifacts = artifacts ~expire_in:(Duration (Days 1)) @@ -899,6 +902,7 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name ~variables: [ ("TARGET", target_string); + ("GROUP", group_string); ("OCTEZ_PKGMAINTAINER", "nomadic-labs"); ("BLST_PORTABLE", "yes"); ("ARCH", arch_string); @@ -917,7 +921,7 @@ let job_build_bin_package ?dependencies ?rules ~__POS__ ~name "opam init --bare --disable-sandboxing"; "make build-deps"; "eval $(opam env)"; - "make $TARGET"; + "make $TARGET-$GROUP"; "DISTRO=$(echo \"$DISTRIBUTION\" | cut -d':' -f1)"; "RELEASE=$(echo \"$DISTRIBUTION\" | cut -d':' -f2)"; "mkdir -p packages/$DISTRO/$RELEASE"; @@ -930,6 +934,7 @@ let job_build_rpm_amd64 : unit -> tezos_job = ~__POS__ ~name:"oc.build:rpm:amd64" ~target:Rpm + ~group:A ~arch:Amd64 ~dependencies:(Dependent []) diff --git a/ci/bin/debian_repository.ml b/ci/bin/debian_repository.ml index 1cac7847ff00..2aeed608c1f8 100644 --- a/ci/bin/debian_repository.ml +++ b/ci/bin/debian_repository.ml @@ -134,22 +134,41 @@ let jobs pipeline_type = (* These jobs build the current packages in a matrix using the build dependencies images *) - let job_build_debian_package_current : tezos_job = + let job_build_debian_package_current_a : tezos_job = make_job_build_debian_packages ~__POS__ - ~name:"oc.build-debian-current" + ~name:"oc.build-debian-current_a" ~distribution:"debian" ~dependencies:(Dependent [Job job_docker_build_debian_dependencies]) - ~script:"./scripts/ci/build-debian-packages_current.sh" + ~script:"./scripts/ci/build-debian-packages_current.sh A" ~matrix:(debian_package_release_matrix pipeline_type) in - let job_build_ubuntu_package_current : tezos_job = + let job_build_ubuntu_package_current_a : tezos_job = make_job_build_debian_packages ~__POS__ - ~name:"oc.build-ubuntu-current" + ~name:"oc.build-ubuntu-current_a" ~distribution:"ubuntu" ~dependencies:(Dependent [Job job_docker_build_ubuntu_dependencies]) - ~script:"./scripts/ci/build-debian-packages_current.sh" + ~script:"./scripts/ci/build-debian-packages_current.sh A" + ~matrix:(ubuntu_package_release_matrix pipeline_type) + in + + let job_build_debian_package_current_b : tezos_job = + make_job_build_debian_packages + ~__POS__ + ~name:"oc.build-debian-current_b" + ~distribution:"debian" + ~dependencies:(Dependent [Job job_docker_build_debian_dependencies]) + ~script:"./scripts/ci/build-debian-packages_current.sh B" + ~matrix:(debian_package_release_matrix pipeline_type) + in + let job_build_ubuntu_package_current_b : tezos_job = + make_job_build_debian_packages + ~__POS__ + ~name:"oc.build-ubuntu-current_b" + ~distribution:"ubuntu" + ~dependencies:(Dependent [Job job_docker_build_ubuntu_dependencies]) + ~script:"./scripts/ci/build-debian-packages_current.sh B" ~matrix:(ubuntu_package_release_matrix pipeline_type) in @@ -179,7 +198,12 @@ let jobs pipeline_type = job_apt_repo ~__POS__ ~name:"apt_repo_debian_current" - ~dependencies:(Dependent [Artifacts job_build_debian_package_current]) + ~dependencies: + (Dependent + [ + Artifacts job_build_debian_package_current_a; + Artifacts job_build_debian_package_current_b; + ]) ~image:Images.debian_bookworm ["./scripts/ci/create_debian_repo.sh debian bookworm"] in @@ -187,7 +211,12 @@ let jobs pipeline_type = job_apt_repo ~__POS__ ~name:"apt_repo_ubuntu_current" - ~dependencies:(Dependent [Artifacts job_build_ubuntu_package_current]) + ~dependencies: + (Dependent + [ + Artifacts job_build_ubuntu_package_current_a; + Artifacts job_build_ubuntu_package_current_b; + ]) ~image:Images.ubuntu_focal ["./scripts/ci/create_debian_repo.sh ubuntu focal jammy"] in @@ -236,7 +265,8 @@ let jobs pipeline_type = [ job_docker_build_debian_dependencies; job_build_debian_package; - job_build_debian_package_current; + job_build_debian_package_current_a; + job_build_debian_package_current_b; job_apt_repo_debian_current; ] in @@ -244,24 +274,31 @@ let jobs pipeline_type = [ job_docker_build_ubuntu_dependencies; job_build_ubuntu_package; - job_build_ubuntu_package_current; + job_build_ubuntu_package_current_a; + job_build_ubuntu_package_current_b; job_apt_repo_ubuntu_current; ] in match pipeline_type with | Partial -> ( debian_jobs @ test_current_debian_packages_jobs, - job_build_ubuntu_package_current, - job_build_debian_package_current ) + job_build_ubuntu_package_current_a, + job_build_debian_package_current_a, + job_build_ubuntu_package_current_b, + job_build_debian_package_current_b ) | Full -> ( debian_jobs @ ubuntu_jobs @ test_current_debian_packages_jobs @ test_current_ubuntu_packages_jobs, - job_build_ubuntu_package_current, - job_build_debian_package_current ) + job_build_ubuntu_package_current_a, + job_build_debian_package_current_a, + job_build_ubuntu_package_current_b, + job_build_debian_package_current_b ) | Release -> ( debian_jobs @ ubuntu_jobs, - job_build_ubuntu_package_current, - job_build_debian_package_current ) + job_build_ubuntu_package_current_a, + job_build_debian_package_current_a, + job_build_ubuntu_package_current_b, + job_build_debian_package_current_b ) let debian_repository_child_pipeline pipeline_type = let pipeline_name = @@ -270,5 +307,5 @@ let debian_repository_child_pipeline pipeline_type = | Full -> "debian_repository_full" | Release -> "debian_repository_release" in - let jobs, _, _ = jobs pipeline_type in + let jobs, _, _, _, _ = jobs pipeline_type in Pipeline.register_child pipeline_name ~jobs diff --git a/ci/bin/release_tag.ml b/ci/bin/release_tag.ml index f19e1a2dd1e2..0d20abea39f7 100644 --- a/ci/bin/release_tag.ml +++ b/ci/bin/release_tag.ml @@ -90,8 +90,10 @@ let octez_jobs ?(test = false) release_tag_pipeline_type = in let job_build_rpm_amd64 = job_build_rpm_amd64 () in let ( jobs_debian_repository, - job_build_ubuntu_package_current, - job_build_debian_package_current ) = + job_build_ubuntu_package_current_a, + job_build_debian_package_current_a, + job_build_ubuntu_package_current_b, + job_build_debian_package_current_b ) = Debian_repository.jobs Release in let job_gitlab_release_or_publish = @@ -101,8 +103,10 @@ let octez_jobs ?(test = false) release_tag_pipeline_type = Artifacts job_static_x86_64_release; Artifacts job_static_arm64_release; Artifacts job_build_rpm_amd64; - Artifacts job_build_ubuntu_package_current; - Artifacts job_build_debian_package_current; + Artifacts job_build_ubuntu_package_current_a; + Artifacts job_build_debian_package_current_a; + Artifacts job_build_ubuntu_package_current_b; + Artifacts job_build_debian_package_current_b; ] in match release_tag_pipeline_type with diff --git a/scripts/ci/build-debian-packages_current.sh b/scripts/ci/build-debian-packages_current.sh index cbdc8d64ba91..8f1bbd953dd1 100755 --- a/scripts/ci/build-debian-packages_current.sh +++ b/scripts/ci/build-debian-packages_current.sh @@ -15,7 +15,7 @@ cd /root/tezos/ eval "$(opam env)" # Build octez debian packages -make dpkg +make "dpkg-$1" # Move the debian package to be packed as artifacts mkdir -p "$BUILDDIR/packages/$DISTRIBUTION/$RELEASE" -- GitLab From 7b0fa7ae8ee8bb34b4306bb4c29a861472821085 Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Tue, 23 Jul 2024 12:29:22 +0200 Subject: [PATCH 4/4] packaging: add installation tests for octez-dal-node and octez-smartrollup --- docs/introduction/install-bin-deb.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/introduction/install-bin-deb.sh b/docs/introduction/install-bin-deb.sh index e8eabb27aa73..452ba180ccef 100755 --- a/docs/introduction/install-bin-deb.sh +++ b/docs/introduction/install-bin-deb.sh @@ -67,6 +67,9 @@ sudo apt-get update sudo apt-get install -y octez-client sudo apt-get install -y octez-node sudo apt-get install -y octez-baker +sudo apt-get install -y octez-smartrollup +sudo apt-get install -y octez-evmnode +sudo apt-get install -y octez-dal-node # [test executables] octez-client --version -- GitLab