2024-11-26 22:05:50 -05:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
ROOT_DIR=$(git rev-parse --show-toplevel)
|
|
|
|
|
|
2024-12-02 14:27:18 -05:00
|
|
|
# Package the PKL projects
|
2024-11-26 22:05:50 -05:00
|
|
|
bunx pkl project package $ROOT_DIR/pkl/*/
|
|
|
|
|
|
2024-12-02 14:27:18 -05:00
|
|
|
# Process each directory in .out
|
2024-11-26 22:05:50 -05:00
|
|
|
for dir in .out/*/; do
|
2024-12-02 14:27:18 -05:00
|
|
|
# Get the folder name and version
|
2024-11-26 22:05:50 -05:00
|
|
|
folder=$(basename "$dir")
|
2024-12-02 14:27:18 -05:00
|
|
|
version=$(echo "$folder" | grep -o '@.*' | sed 's/@//')
|
|
|
|
|
new_folder=$(echo "$folder" | sed 's/@[0-9.]*$//')
|
|
|
|
|
|
|
|
|
|
# Create new directory without version
|
|
|
|
|
mkdir -p ".out/$new_folder/$version"
|
|
|
|
|
|
|
|
|
|
# Copy contents to versioned subdirectory
|
|
|
|
|
cp -r "$dir"* ".out/$new_folder/$version/"
|
|
|
|
|
|
|
|
|
|
# Find and copy only .pkl files from the original package
|
|
|
|
|
pkg_dir="$ROOT_DIR/pkl/$new_folder"
|
|
|
|
|
if [ -d "$pkg_dir" ]; then
|
|
|
|
|
# Copy only .pkl files to version directory
|
|
|
|
|
find "$pkg_dir" -name "*.pkl" -exec cp {} ".out/$new_folder/$version/" \;
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Remove old versioned directory
|
|
|
|
|
rm -rf "$dir"
|
|
|
|
|
|
|
|
|
|
# Upload to R2 with new structure
|
|
|
|
|
rclone copy ".out/$new_folder" "r2:pkljar/$new_folder"
|
2024-11-26 22:05:50 -05:00
|
|
|
done
|
|
|
|
|
|
2024-12-02 14:27:18 -05:00
|
|
|
# Cleanup .out directory
|
2024-11-26 22:05:50 -05:00
|
|
|
rm -rf .out
|
|
|
|
|
|
2024-12-02 14:27:18 -05:00
|
|
|
# Handle static files
|
2024-11-26 22:05:50 -05:00
|
|
|
rclone copy $ROOT_DIR/static "r2:nebula"
|
|
|
|
|
rm -rf $ROOT_DIR/static
|