From b0f79b761afc15b585689770977c441ac900ba06 Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Wed, 4 Dec 2024 11:53:55 +0100 Subject: [PATCH] rpm packages: add installation script --- .gitlab/ci/pipelines/rpm_repository_full.yml | 28 ++++++- .../ci/pipelines/rpm_repository_partial.yml | 13 +++ .../pipelines/rpm_repository_partial_auto.yml | 13 +++ ci/bin/rpm_repository.ml | 14 +++- docs/introduction/install-bin-rpm.sh | 82 +++++++++++++++++++ 5 files changed, 148 insertions(+), 2 deletions(-) create mode 100755 docs/introduction/install-bin-rpm.sh diff --git a/.gitlab/ci/pipelines/rpm_repository_full.yml b/.gitlab/ci/pipelines/rpm_repository_full.yml index 5974c09ae26b..1fc4f2e7d74b 100644 --- a/.gitlab/ci/pipelines/rpm_repository_full.yml +++ b/.gitlab/ci/pipelines/rpm_repository_full.yml @@ -300,7 +300,7 @@ rpm_repo_fedora: GNUPGHOME: $CI_PROJECT_DIR/.gnupg PREFIX: next -oc.install_bin_fedora_93: +oc.install_bin_fedora_39: image: fedora:39 stage: publishing_tests tags: @@ -313,6 +313,19 @@ oc.install_bin_fedora_93: - ./scripts/packaging/tests/rpm/rpm-install.sh fedora 39 variables: {} +oc.install_bin_fedora_39.doc: + image: fedora:39 + stage: publishing_tests + tags: + - gcp + needs: + - rpm_repo_fedora + dependencies: [] + timeout: 60 minutes + script: + - ./docs/introduction/install-bin-rpm.sh fedora 39 + variables: {} + oc.install_bin_rockylinux_9.3: image: rockylinux:9.3 stage: publishing_tests @@ -325,3 +338,16 @@ oc.install_bin_rockylinux_9.3: script: - ./scripts/packaging/tests/rpm/rpm-install.sh rockylinux 9.3 variables: {} + +oc.install_bin_rockylinux_9.3.doc: + image: rockylinux:9.3 + stage: publishing_tests + tags: + - gcp + needs: + - rpm_repo_rockylinux + dependencies: [] + timeout: 60 minutes + script: + - ./docs/introduction/install-bin-rpm.sh rockylinux 9.3 + variables: {} diff --git a/.gitlab/ci/pipelines/rpm_repository_partial.yml b/.gitlab/ci/pipelines/rpm_repository_partial.yml index bf3a1c0817b3..a48dee94899c 100644 --- a/.gitlab/ci/pipelines/rpm_repository_partial.yml +++ b/.gitlab/ci/pipelines/rpm_repository_partial.yml @@ -172,3 +172,16 @@ oc.install_bin_rockylinux_9.3: script: - ./scripts/packaging/tests/rpm/rpm-install.sh rockylinux 9.3 variables: {} + +oc.install_bin_rockylinux_9.3.doc: + image: rockylinux:9.3 + stage: publishing_tests + tags: + - gcp + needs: + - rpm_repo_rockylinux + dependencies: [] + timeout: 60 minutes + script: + - ./docs/introduction/install-bin-rpm.sh rockylinux 9.3 + variables: {} diff --git a/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml b/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml index 85ad63afce98..fdaa3d01b933 100644 --- a/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml +++ b/.gitlab/ci/pipelines/rpm_repository_partial_auto.yml @@ -172,3 +172,16 @@ oc.install_bin_rockylinux_9.3: script: - ./scripts/packaging/tests/rpm/rpm-install.sh rockylinux 9.3 variables: {} + +oc.install_bin_rockylinux_9.3.doc: + image: rockylinux:9.3 + stage: publishing_tests + tags: + - gcp + needs: + - rpm_repo_rockylinux + dependencies: [] + timeout: 60 minutes + script: + - ./docs/introduction/install-bin-rpm.sh rockylinux 9.3 + variables: {} diff --git a/ci/bin/rpm_repository.ml b/ci/bin/rpm_repository.ml index bf18e75a3428..c24f7e84c39d 100644 --- a/ci/bin/rpm_repository.ml +++ b/ci/bin/rpm_repository.ml @@ -194,10 +194,16 @@ let jobs pipeline_type = [ job_install_bin ~__POS__ - ~name:"oc.install_bin_fedora_93" + ~name:"oc.install_bin_fedora_39" ~dependencies:(Dependent [Job job_rpm_repo_fedora]) ~image:Images.fedora_39 ["./scripts/packaging/tests/rpm/rpm-install.sh fedora 39"]; + job_install_bin + ~__POS__ + ~name:"oc.install_bin_fedora_39.doc" + ~dependencies:(Dependent [Job job_rpm_repo_fedora]) + ~image:Images.fedora_39 + ["./docs/introduction/install-bin-rpm.sh fedora 39"]; ] in let test_rockylinux_packages_jobs = @@ -208,6 +214,12 @@ let jobs pipeline_type = ~dependencies:(Dependent [Job job_rpm_repo_rockylinux]) ~image:Images.rockylinux_93 ["./scripts/packaging/tests/rpm/rpm-install.sh rockylinux 9.3"]; + job_install_bin + ~__POS__ + ~name:"oc.install_bin_rockylinux_9.3.doc" + ~dependencies:(Dependent [Job job_rpm_repo_rockylinux]) + ~image:Images.rockylinux_93 + ["./docs/introduction/install-bin-rpm.sh rockylinux 9.3"]; ] in let rockylinux_jobs = diff --git a/docs/introduction/install-bin-rpm.sh b/docs/introduction/install-bin-rpm.sh new file mode 100755 index 000000000000..9d46ac63cc1c --- /dev/null +++ b/docs/introduction/install-bin-rpm.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +distribution=$1 +release=$2 + +bucket="$GCP_LINUX_PACKAGES_BUCKET" +protocol=$(head -1 script-inputs/active_protocol_versions_without_number) + +. scripts/ci/octez-packages-version.sh + +case "$RELEASETYPE" in +ReleaseCandidate | TestReleaseCandidate) + distribution="RC/${distribution}" + ;; +Release | TestRelease) + : nop + ;; +Master) + distribution="master/${distribution}" + ;; +SoftRelease) + distribution="${CI_COMMIT_TAG}/${distribution}" + ;; +TestBranch) + distribution="${CI_COMMIT_REF_NAME}/${distribution}" + ;; +*) + echo "Cannot test packages on this branch" + exit 1 + ;; +esac + +set -e +set -x + +if [ "$RELEASETYPE" = "Master" ]; then + # [add repository] + # Update and install the config-mananger plugin + dnf -y update + dnf -y install 'dnf-command(config-manager)' + + # Add the repository + dnf -y config-manager --add-repo "https://packages.nomadic-labs.com/next/$distribution/dists/$release/" + dnf -y config-manager --set-enabled devel + dnf -y update + + # Install public key + rpm --import "https://packages.nomadic-labs.com/next/$distribution/octez.asc" + # [end add repository] +else + # Update and install the config-mananger plugin + dnf -y update + dnf -y install 'dnf-command(config-manager)' + + # Add the repository + dnf -y config-manager --add-repo "https://storage.googleapis.com/$bucket/next/$distribution/dists/$release/" + dnf -y config-manager --set-enabled devel + dnf -y update + + # Install public key + rpm --import "https://storage.googleapis.com/$bucket/next/$distribution/octez.asc" + +fi + +dnf -y install sudo + +# [install tezos] +sudo dnf -y install octez-node +sudo dnf -y install octez-client +sudo dnf -y install octez-node +sudo dnf -y install octez-baker +sudo dnf -y install octez-dal-node +sudo dnf -y install octez-smart-rollup-node + +# [test executables] +octez-client --version +octez-node --version +"octez-baker-$protocol" --version +"octez-accuser-$protocol" --version + +# [test autopurge] +sudo dnf -y remove octez-node octez-client octez-baker octez-dal-node -- GitLab