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

Reply via email to