From cac2c09b5d0f5c5a54b2efcf9d4db4cd6355ba33 Mon Sep 17 00:00:00 2001 From: DevOps Service Date: Tue, 17 Sep 2024 15:00:12 +0000 Subject: [PATCH 1/5] Update the Version, BuildNumber, genesistimestamp.data --- buildnumber.dat | 1 + genesistimestamp.dat | 1 + 2 files changed, 2 insertions(+) create mode 100644 buildnumber.dat create mode 100644 genesistimestamp.dat diff --git a/buildnumber.dat b/buildnumber.dat new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/buildnumber.dat @@ -0,0 +1 @@ +0 diff --git a/genesistimestamp.dat b/genesistimestamp.dat new file mode 100644 index 0000000000..c72c6a7795 --- /dev/null +++ b/genesistimestamp.dat @@ -0,0 +1 @@ +1558657885 From 49d4765ac343089ccc77afe0d28d095f6d0e020d Mon Sep 17 00:00:00 2001 From: John Lee Date: Wed, 18 Sep 2024 13:44:31 -0400 Subject: [PATCH 2/5] CI: fix rpmbuild call for cross-platform execution (#6134) --- installer/rpm/algorand-devtools/algorand-devtools.spec | 1 + installer/rpm/algorand/algorand.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/installer/rpm/algorand-devtools/algorand-devtools.spec b/installer/rpm/algorand-devtools/algorand-devtools.spec index ad5b5a1cd5..5c2490653c 100644 --- a/installer/rpm/algorand-devtools/algorand-devtools.spec +++ b/installer/rpm/algorand-devtools/algorand-devtools.spec @@ -8,6 +8,7 @@ Requires: @REQUIRED_ALGORAND_PKG@ >= @VER@ %define SRCDIR go-algorand-rpmbuild %define _buildshell /bin/bash +%define __os_install_post %{?__brp-compress} %description This package provides development tools for the Algorand blockchain. diff --git a/installer/rpm/algorand/algorand.spec b/installer/rpm/algorand/algorand.spec index ef58c0db1a..02e0909a78 100644 --- a/installer/rpm/algorand/algorand.spec +++ b/installer/rpm/algorand/algorand.spec @@ -11,6 +11,7 @@ Requires(pre): shadow-utils %define SRCDIR go-algorand-rpmbuild %define _buildshell /bin/bash +%define __os_install_post %{?__brp-compress} %description This package provides an implementation of the Algorand protocol. From c44aba5871d7deb39473673e1a02fc719fbcf474 Mon Sep 17 00:00:00 2001 From: John Lee Date: Wed, 18 Sep 2024 14:24:34 -0400 Subject: [PATCH 3/5] CI: remove homebrew autoupdate deactivation from CircleCI (#6135) --- .circleci/config.yml | 4 ---- scripts/configure_dev.sh | 16 +++++++--------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 13d4ea996f..f9cd0660dd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,14 +49,10 @@ executors: macos: xcode: 14.2.0 resource_class: macos.m1.medium.gen1 - environment: - HOMEBREW_NO_AUTO_UPDATE: "true" mac_arm64_large: macos: xcode: 14.2.0 resource_class: macos.m1.large.gen1 - environment: - HOMEBREW_NO_AUTO_UPDATE: "true" slack-fail-stop-step: &slack-fail-post-step post-steps: diff --git a/scripts/configure_dev.sh b/scripts/configure_dev.sh index c7bd93a250..56edb84c32 100755 --- a/scripts/configure_dev.sh +++ b/scripts/configure_dev.sh @@ -78,15 +78,13 @@ if [ "${OS}" = "linux" ]; then sudo "$SCRIPTPATH/install_linux_deps.sh" fi elif [ "${OS}" = "darwin" ]; then - if [ "${CIRCLECI}" != "true" ]; then - brew update - brew_version=$(brew --version | head -1 | cut -d' ' -f2) - major_version=$(echo $brew_version | cut -d. -f1) - minor_version=$(echo $brew_version | cut -d. -f2) - version_decimal="$major_version.$minor_version" - if (($(echo "$version_decimal < 2.5" | bc -l))); then - brew tap homebrew/cask - fi + brew update + brew_version=$(brew --version | head -1 | cut -d' ' -f2) + major_version=$(echo $brew_version | cut -d. -f1) + minor_version=$(echo $brew_version | cut -d. -f2) + version_decimal="$major_version.$minor_version" + if (($(echo "$version_decimal < 2.5" | bc -l))); then + brew tap homebrew/cask fi install_or_upgrade pkg-config install_or_upgrade libtool From c0aea8ae1ab2aa752161ad6d68ccdb3cdf10bae7 Mon Sep 17 00:00:00 2001 From: John Lee Date: Wed, 25 Sep 2024 12:58:35 -0400 Subject: [PATCH 4/5] CI: updates to fix publishing universal darwin binaries (#6141) --- scripts/build_packages.sh | 6 +++++- scripts/release/mule/sign/sign.sh | 29 ++++++++++++++--------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/scripts/build_packages.sh b/scripts/build_packages.sh index b434c485dc..8a5e75a5b6 100755 --- a/scripts/build_packages.sh +++ b/scripts/build_packages.sh @@ -97,10 +97,14 @@ for var in "${VARIATION_ARRAY[@]}"; do pushd ${PLATFORM_ROOT} tar --exclude=tools -zcf ${PKG_ROOT}/node_${CHANNEL}_${PKG_NAME}_${FULLVERSION}.tar.gz * >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "Error creating node tar file for package ${PLATFORM}. Aborting..." + exit 1 + fi cd bin tar -zcf ${PKG_ROOT}/install_${CHANNEL}_${PKG_NAME}_${FULLVERSION}.tar.gz updater update.sh >/dev/null 2>&1 if [ $? -ne 0 ]; then - echo "Error creating tar file for package ${PLATFORM}. Aborting..." + echo "Error creating install tar file for package ${PLATFORM}. Aborting..." exit 1 fi diff --git a/scripts/release/mule/sign/sign.sh b/scripts/release/mule/sign/sign.sh index 89baedb9ce..ab7f3899e7 100755 --- a/scripts/release/mule/sign/sign.sh +++ b/scripts/release/mule/sign/sign.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash # shellcheck disable=2035,2129 -# TODO: This needs to be reworked a bit to support Darwin. - set -exo pipefail shopt -s nullglob @@ -14,8 +12,8 @@ CHANNEL=${CHANNEL:-$(./scripts/release/mule/common/get_channel.sh "$NETWORK")} VERSION=${VERSION:-$(./scripts/compute_build_number.sh -f)} PKG_DIR="./tmp/node_pkgs" SIGNING_KEY_ADDR=dev@algorand.com -OS_TYPE=$(./scripts/release/mule/common/ostype.sh) -ARCHS=(amd64 arm64) +OS_TYPES=(linux darwin) +ARCHS=(amd64 arm64 universal) ARCH_BITS=(x86_64 aarch64) # Note that we don't want to use $GNUPGHOME here because that is a documented env var for the gnupg # project and if it's set in the environment mule will automatically pick it up, which could have @@ -47,17 +45,19 @@ popd if [ -n "$S3_SOURCE" ] then i=0 - for arch in "${ARCHS[@]}"; do - arch_bit="${ARCH_BITS[$i]}" - ( + for os in "${OS_TYPES[@]}"; do + for arch in "${ARCHS[@]}"; do mkdir -p "$PKG_DIR/$OS_TYPE/$arch" - cd "$PKG_DIR" - # Note the underscore after ${arch}! - # Recall that rpm packages have the arch bit in the filenames (i.e., "x86_64" rather than "amd64"). - # Also, the order of the includes/excludes is important! - aws s3 cp --recursive --exclude "*" --include "*${arch}_*" --include "*$arch_bit.rpm" --exclude "*.sig" --exclude "*.asc" --exclude "*.asc.gz" "s3://$S3_SOURCE/$CHANNEL/$VERSION" . - ) - i=$((i + 1)) + arch_bit="${ARCH_BITS[$i]}" + ( + cd "$PKG_DIR" + # Note the underscore after ${arch}! + # Recall that rpm packages have the arch bit in the filenames (i.e., "x86_64" rather than "amd64"). + # Also, the order of the includes/excludes is important! + aws s3 cp --recursive --exclude "*" --include "*${arch}_*" --include "*$arch_bit.rpm" --exclude "*.sig" --exclude "*.asc" --exclude "*.asc.gz" "s3://$S3_SOURCE/$CHANNEL/$VERSION" . + ) + i=$((i + 1)) + done done fi @@ -69,7 +69,6 @@ cd "$PKG_DIR" # Grab the directories directly underneath (max-depth 1) ./tmp/node_pkgs/ into a space-delimited string. # This will help us target `linux`, `darwin` and (possibly) `windows` build assets. # Note the surrounding parens turns the string created by `find` into an array. -OS_TYPES=($(find . -mindepth 1 -maxdepth 1 -type d -printf '%f\n')) for os in "${OS_TYPES[@]}"; do for arch in "${ARCHS[@]}"; do if [ -d "$os/$arch" ] From 72e3b0eeddf5cc4551066e2b2d3a13e0f7ee91ad Mon Sep 17 00:00:00 2001 From: DevOps Service Date: Wed, 2 Oct 2024 14:56:20 +0000 Subject: [PATCH 5/5] Bump Version, Remove buildnumber.dat and genesistimestamp.dat files. --- buildnumber.dat | 1 - config/version.go | 2 +- genesistimestamp.dat | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 buildnumber.dat delete mode 100644 genesistimestamp.dat diff --git a/buildnumber.dat b/buildnumber.dat deleted file mode 100644 index 573541ac97..0000000000 --- a/buildnumber.dat +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/config/version.go b/config/version.go index 5a1b31ce0e..6dc23ee5b1 100644 --- a/config/version.go +++ b/config/version.go @@ -33,7 +33,7 @@ const VersionMajor = 3 // VersionMinor is the Minor semantic version number (x.#.z) - changed when backwards-compatible features are introduced. // Not enforced until after initial public release (x > 0). -const VersionMinor = 26 +const VersionMinor = 27 // Version is the type holding our full version information. type Version struct { diff --git a/genesistimestamp.dat b/genesistimestamp.dat deleted file mode 100644 index c72c6a7795..0000000000 --- a/genesistimestamp.dat +++ /dev/null @@ -1 +0,0 @@ -1558657885