This is an automated email from the ASF dual-hosted git repository. piotr pushed a commit to branch update_prepare_release_script in repository https://gitbox.apache.org/repos/asf/iggy.git
commit e89ad76209a4568724d467627789a002ed16066c Author: spetz <[email protected]> AuthorDate: Wed Jul 9 12:53:14 2025 +0200 chore(repo): update prepare release script --- scripts/prepare-release.sh | 86 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 19 deletions(-) diff --git a/scripts/prepare-release.sh b/scripts/prepare-release.sh index 9557a85e..e99ccf35 100755 --- a/scripts/prepare-release.sh +++ b/scripts/prepare-release.sh @@ -19,11 +19,7 @@ # specific language governing permissions and limitations # under the License. -# This script is used to generate Cross.toml file for user which executes -# this script. This is needed since Cross.toml build.dockerfile.build-args -# section requires statically defined Docker build arguments and parameters -# like current UID or GID must be entered (cannot be generated or fetched -# during cross execution time). +# This script is used to prepare the release artifacts for the Apache Iggy project. set -euo pipefail @@ -65,29 +61,83 @@ FILES=( "justfile" ) -DIRS=( - "bench" - "certs" - "cli" - "configs" +RELEASE_DIRS=( + "bdd" + "core" "examples" - "integration" + "foreign" "licenses" "scripts" - "sdk" - "server" - "tools" + "web" +) + +IGNORED_DIRS=( + "target" + "node_modules" + "pkg" + "build" + "out" + "dist" + "bin" + "obj" + "__pycache__" + ".elixir_ls" + ".tox" + ".eggs" + ".venv" ) for file in "${FILES[@]}"; do cp "$SRC_DIR/$file" "$TEMP_DIR/" done -for dir in "${DIRS[@]}"; do - cp -r "$SRC_DIR/$dir" "$TEMP_DIR/" +shopt -s dotglob nullglob + +for dir in "${RELEASE_DIRS[@]}"; do + src="$SRC_DIR/$dir" + dest="$TEMP_DIR/$dir" + + [ -d "$src" ] || continue + mkdir -p "$dest" + + for item in "$src"/*; do + name=$(basename "$item") + + if [[ "$dir" == "web" && "$name" == "node_modules" && -d "$item" ]]; then + continue + fi + + if [[ "$dir" == "foreign" && -d "$item" ]]; then + sdk=$(basename "$item") + mkdir -p "$dest/$sdk" + + for sdk_item in "$item"/*; do + sdk_subdir=$(basename "$sdk_item") + + skip=false + for ignored in "${IGNORED_DIRS[@]}"; do + if [[ "$sdk_subdir" == "$ignored" && -d "$sdk_item" ]]; then + skip=true + break + fi + done + + if ! $skip; then + cp -r "$sdk_item" "$dest/$sdk/" + fi + done + + continue + fi + + cp -r "$item" "$dest/" + done done -VERSION=$(grep '^version' "$TEMP_DIR/server/Cargo.toml" | head -n 1 | cut -d '"' -f2) +shopt -u dotglob nullglob + + +VERSION=$(grep '^version' "$TEMP_DIR/core/server/Cargo.toml" | head -n 1 | cut -d '"' -f2) echo "Preparing release for version: $VERSION" @@ -111,5 +161,3 @@ echo "✔ Checksum saved to: $CHECKSUM_FILE" mv "$ARCHIVE_NAME" "$RELEASE_DIR/" mv "$CHECKSUM_FILE" "$RELEASE_DIR/" - -
