Files
alt-atomic-niri/src/make/00-atomic-actions.sh
2025-06-19 15:10:32 +03:00

46 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
echo "::group:: ===$(basename "$0")==="
# Define repository and paths
REPO_URL="https://github.com/code-ascend/atomic-actions.git"
BUILD_DIR="/tmp/atomic-actions"
INSTALL_DIR="/usr/local/bin"
ACTIONS_SRC_PATH="${BUILD_DIR}/models/actions"
ACTIONS_DEST_PATH="/usr/local/share/atomic-actions/actions"
# Step 1: Clone the repository
echo "Cloning atomic-actions repository from ${REPO_URL}..."
rm -rf "${BUILD_DIR}" # Ensure no residual directory exists
git clone "${REPO_URL}" "${BUILD_DIR}"
# Step 2: Build the project with Go
echo "Building atomic-actions..."
cd "${BUILD_DIR}"
go build -o "${INSTALL_DIR}/atomic-actions"
# Step 3: Verify binary installation
if [[ -f "${INSTALL_DIR}/atomic-actions" ]]; then
echo "Binary atomic-actions successfully built at ${INSTALL_DIR}/atomic-actions"
chmod +x "${INSTALL_DIR}/atomic-actions" # Make the binary executable
else
echo "Failed to build atomic-actions binary!" >&2
exit 1
fi
# Step 4: Clean and copy actions folder
echo "Preparing actions directory..."
rm -rf "${ACTIONS_DEST_PATH}" # Remove existing actions
mkdir -p "${ACTIONS_DEST_PATH}" # Ensure the target directory exists
cp -r "${ACTIONS_SRC_PATH}/." "${ACTIONS_DEST_PATH}" # Copy actions folder
# Set executable permissions for all scripts in the actions folder
find "${ACTIONS_DEST_PATH}" -type f -name "*.sh" -exec chmod +x {} \;
# Step 5: Cleanup temporary files
echo "Cleaning up..."
rm -rf "${BUILD_DIR}"
echo "End kernel_setup.sh"