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/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. 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" ]