#!/bin/bash set -e MODULE_NAME="oc_telegram_shop" CURRENT_DIR="$(dirname "$0")" echo "Current dir: ${CURRENT_DIR}" composer --version bun --version php -v SRC_PATH="$1" BUILD_PATH="${GITHUB_WORKSPACE}/build" mkdir -p "$BUILD_PATH" echo "🔨 Starting build process..." echo "â„šī¸ Source path: ${SRC_PATH}" echo "â„šī¸ Build path: ${BUILD_PATH}" if [ -z "$BUILD_PATH" ]; then echo "❌ Error: BUILD_PATH is required" exit 1 fi if [ -z "$SRC_PATH" ]; then echo "❌ Error: SRC_PATH is required" exit 1 fi echo "Build Telecart Frontend..." cd "${SRC_PATH}/frontend/spa" bun install bun run build echo "Move manifest file" cp "${SRC_PATH}/module/oc_telegram_shop/upload/image/catalog/tgshopspa/.vite/manifest.json" "${SRC_PATH}/module/oc_telegram_shop/upload/image/catalog/tgshopspa/manifest.json" echo "Build Admin Frontend" cd "${SRC_PATH}/frontend/admin" bun install bun run build echo "Move manifest file" cp "${SRC_PATH}/module/oc_telegram_shop/upload/admin/view/javascript/.vite/manifest.json" "${SRC_PATH}/module/oc_telegram_shop/upload/admin/view/javascript/manifest.json" cd - > /dev/null echo "Install Composer dependencies." cd "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop" composer install \ --prefer-dist \ --no-dev \ --optimize-autoloader \ --no-interaction \ --no-cache cd - > /dev/null echo "Copy .env for production" cp "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/.env.production" \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/.env" echo "📜 Creating Phar archive..." rm -rf \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/tests" \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/phpunit.xml" \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/psalm.xml" \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/psalm-classes.php" \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/psalm-stubs.php" php -d phar.readonly=0 scripts/ci/create-phar.php "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop" "${MODULE_NAME}.phar" echo "đŸ“Ļ Packaging into .ocmod.zip..." mkdir -p "${SRC_PATH}/module/oc_telegram_shop/upload/system/library/oc_telegram_shop" mv "${MODULE_NAME}.phar" "${SRC_PATH}/module/oc_telegram_shop/upload/system/library/oc_telegram_shop" rm -rf \ "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop" cd "${SRC_PATH}/module/oc_telegram_shop/" echo "List files" ls -la ./upload zip -rqq "${MODULE_NAME}.ocmod.zip" . mv "${MODULE_NAME}.ocmod.zip" "${BUILD_PATH}" FINAL_FILE="${BUILD_PATH}/${MODULE_NAME}.ocmod.zip" if [ -f "$FINAL_FILE" ]; then FILE_SIZE=$(du -h "$FINAL_FILE" | cut -f1) echo -e "✅ Build completed successfully!" echo -e "🎉 Created: $FINAL_FILE ($FILE_SIZE)" else echo "❌ Error: Final build file not found: $FINAL_FILE" exit 1 fi echo -e "đŸŽ¯ Build artifact ready for installation!"