|
| 1 | +#!/usr/bin/env bash |
| 2 | +set -o pipefail |
| 3 | +set +e |
| 4 | + |
| 5 | +readonly RELEASE_LIB_PATH="hedera-node/data/lib" |
| 6 | +readonly RELEASE_APPS_PATH="hedera-node/data/apps" |
| 7 | + |
| 8 | +GROUP_ACTIVE="false" |
| 9 | + |
| 10 | +function fail { |
| 11 | + printf '%s\n' "$1" >&2 ## Send message to stderr. Exclude >&2 if you don't want it that way. |
| 12 | + if [[ "${GROUP_ACTIVE}" == "true" ]]; then |
| 13 | + end_group |
| 14 | + fi |
| 15 | + exit "${2-1}" ## Return a code specified by $2 or 1 by default. |
| 16 | +} |
| 17 | + |
| 18 | +function start_group { |
| 19 | + if [[ "${GROUP_ACTIVE}" == "true" ]]; then |
| 20 | + end_group |
| 21 | + fi |
| 22 | + |
| 23 | + GROUP_ACTIVE="true" |
| 24 | + printf "::group::%s\n" "${1}" |
| 25 | +} |
| 26 | + |
| 27 | +function end_group { |
| 28 | + GROUP_ACTIVE="false" |
| 29 | + printf "::endgroup::\n" |
| 30 | +} |
| 31 | + |
| 32 | +function log { |
| 33 | + local message="${1}" |
| 34 | + shift |
| 35 | + # shellcheck disable=SC2059 |
| 36 | + printf "${message}" "${@}" |
| 37 | +} |
| 38 | + |
| 39 | +function log_line { |
| 40 | + local message="${1}" |
| 41 | + shift |
| 42 | + # shellcheck disable=SC2059 |
| 43 | + printf "${message}\n" "${@}" |
| 44 | +} |
| 45 | + |
| 46 | +function start_task { |
| 47 | + local message="${1}" |
| 48 | + shift |
| 49 | + # shellcheck disable=SC2059 |
| 50 | + printf "${message} .....\t" "${@}" |
| 51 | +} |
| 52 | + |
| 53 | +function end_task { |
| 54 | + printf "%s\n" "${1:-DONE}" |
| 55 | +} |
| 56 | + |
| 57 | +start_group "Configuring Environment" |
| 58 | + # Access workflow environment variables |
| 59 | + export GITHUB_WORKSPACE GITHUB_SHA GITHUB_OUTPUT MANIFEST_PATH |
| 60 | + |
| 61 | + start_task "Initializing Temporary Directory" |
| 62 | + TEMP_DIR="$(mktemp -d)" || fail "ERROR (Exit Code: ${?})" "${?}" |
| 63 | + trap 'rm -rf "${TEMP_DIR}"' EXIT |
| 64 | + end_task "DONE (Path: ${TEMP_DIR})" |
| 65 | + |
| 66 | +# start_task "Resolving the GITHUB_WORKSPACE path" |
| 67 | +# # Ensure GITHUB_WORKSPACE is provided or default to the repository root |
| 68 | +# if [[ -z "${GITHUB_WORKSPACE}" || ! -d "${GITHUB_WORKSPACE}" ]]; then |
| 69 | +# GITHUB_WORKSPACE="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../../" && pwd)" |
| 70 | +# fi |
| 71 | +# end_task "DONE (Path: ${GITHUB_WORKSPACE})" |
| 72 | +# |
| 73 | +# start_task "Resolving the GITHUB_OUTPUT path" |
| 74 | +# # Ensure GITHUB_OUTPUT is provided or default to the repository root |
| 75 | +# if [[ -z "${GITHUB_OUTPUT}" ]]; then |
| 76 | +# GITHUB_OUTPUT="${TEMP_DIR}/workflow-output.txt" |
| 77 | +# fi |
| 78 | +# end_task "DONE (Path: ${GITHUB_OUTPUT})" |
| 79 | +# |
| 80 | +# start_task "Resolving the GITHUB_SHA hash" |
| 81 | +# if [[ -z "${GITHUB_SHA}" ]]; then |
| 82 | +# GITHUB_SHA="$(git rev-parse HEAD | tr -d '[:space:]')" || fail "ERROR (Exit Code: ${?})" "${?}" |
| 83 | +# fi |
| 84 | +# end_task "DONE (Commit: ${GITHUB_SHA})" |
| 85 | +# |
| 86 | +# start_task "Resolving the MANIFEST_PATH variable" |
| 87 | +# if [[ -z "${MANIFEST_PATH}" ]]; then |
| 88 | +# MANIFEST_PATH="${GITHUB_WORKSPACE}/.manifests/gradle" |
| 89 | +# fi |
| 90 | +# end_task "DONE (Path: ${MANIFEST_PATH})" |
| 91 | +# |
| 92 | +# start_task "Ensuring the MANIFEST_PATH location is present" |
| 93 | +# if [[ ! -d "${MANIFEST_PATH}" ]]; then |
| 94 | +# mkdir -p "${MANIFEST_PATH}" || fail "ERROR (Exit Code: ${?})" "${?}" |
| 95 | +# fi |
| 96 | +# end_task |
| 97 | +# |
| 98 | +# start_task "Checking for the sha256sum command" |
| 99 | +# if command -v sha256sum >/dev/null 2>&1; then |
| 100 | +# SHA256SUM="$(command -v sha256sum)" || fail "ERROR (Exit Code: ${?})" "${?}" |
| 101 | +# else |
| 102 | +# fail "ERROR (Exit Code: ${?})" "${?}" |
| 103 | +# fi |
| 104 | +# end_task "DONE (Found: ${SHA256SUM})" |
| 105 | +# |
| 106 | +# start_task "Checking for prebuilt libraries" |
| 107 | +# ls -al "${GITHUB_WORKSPACE}/${RELEASE_LIB_PATH}"/*.jar >/dev/null 2>&1 || fail "ERROR (Exit Code: ${?})" "${?}" |
| 108 | +# end_task "FOUND (Path: ${GITHUB_WORKSPACE}/${RELEASE_LIB_PATH}/*.jar)" |
| 109 | +# |
| 110 | +# start_task "Checking for prebuilt applications" |
| 111 | +# ls -al "${GITHUB_WORKSPACE}/${RELEASE_APPS_PATH}"/*.jar >/dev/null 2>&1 || fail "ERROR (Exit Code: ${?})" "${?}" |
| 112 | +# end_task "FOUND (Path: ${GITHUB_WORKSPACE}/${RELEASE_APPS_PATH}/*.jar)" |
| 113 | +end_group |
| 114 | + |
| 115 | +#start_group "Generating Library Hashes (${GITHUB_WORKSPACE}/${RELEASE_LIB_PATH}/*.jar)" |
| 116 | +# pushd "${GITHUB_WORKSPACE}/${RELEASE_LIB_PATH}" >/dev/null 2>&1 || fail "PUSHD ERROR (Exit Code: ${?})" "${?}" |
| 117 | +# ${SHA256SUM} -b -- *.jar | sort -k 2 | tee -a "${TEMP_DIR}"/libraries.sha256 |
| 118 | +# popd >/dev/null 2>&1 || fail "POPD ERROR (Exit Code: ${?})" "${?}" |
| 119 | +#end_group |
| 120 | +# |
| 121 | +#start_group "Generating Application Hashes (${GITHUB_WORKSPACE}/${RELEASE_APPS_PATH}/*.jar)" |
| 122 | +# pushd "${GITHUB_WORKSPACE}/${RELEASE_APPS_PATH}" >/dev/null 2>&1 || fail "PUSHD ERROR (Exit Code: ${?})" "${?}" |
| 123 | +# ${SHA256SUM} -b -- *.jar | sort -k 2 | tee -a "${TEMP_DIR}"/applications.sha256 |
| 124 | +# popd >/dev/null 2>&1 || fail "POPD ERROR (Exit Code: ${?})" "${?}" |
| 125 | +#end_group |
| 126 | +# |
| 127 | +#start_group "Generating Final Release Manifests" |
| 128 | +# |
| 129 | +# start_task "Generating the manifest archive" |
| 130 | +# tar -czf "${TEMP_DIR}/manifest.tar.gz" -C "${TEMP_DIR}" libraries.sha256 applications.sha256 >/dev/null 2>&1 || fail "TAR ERROR (Exit Code: ${?})" "${?}" |
| 131 | +# end_task |
| 132 | +# |
| 133 | +# start_task "Copying the manifest files" |
| 134 | +# cp "${TEMP_DIR}/manifest.tar.gz" "${MANIFEST_PATH}/${GITHUB_SHA}.tar.gz" || fail "COPY ERROR (Exit Code: ${?})" "${?}" |
| 135 | +# cp "${TEMP_DIR}/libraries.sha256" "${MANIFEST_PATH}/libraries.sha256" || fail "COPY ERROR (Exit Code: ${?})" "${?}" |
| 136 | +# cp "${TEMP_DIR}/applications.sha256" "${MANIFEST_PATH}/applications.sha256" || fail "COPY ERROR (Exit Code: ${?})" "${?}" |
| 137 | +# end_task "DONE (Path: ${MANIFEST_PATH}/${GITHUB_SHA}.tar.gz)" |
| 138 | +# |
| 139 | +# start_task "Setting Step Outputs" |
| 140 | +# { |
| 141 | +# printf "path=%s\n" "${MANIFEST_PATH}" |
| 142 | +# printf "file=%s\n" "${MANIFEST_PATH}/${GITHUB_SHA}.tar.gz" |
| 143 | +# printf "name=%s\n" "${GITHUB_SHA}.tar.gz" |
| 144 | +# printf "applications=%s\n" "${MANIFEST_PATH}/applications.sha256" |
| 145 | +# printf "libraries=%s\n" "${MANIFEST_PATH}/libraries.sha256" |
| 146 | +# } >> "${GITHUB_OUTPUT}" |
| 147 | +# end_task |
| 148 | +#end_group |
0 commit comments