* feat: add autoqa * chore: add auto start computer_server * chore: add ci autoqa windows * chore: add ci support for both windows and linux * chore: add ci support for macos * chore: refactor auto qa * chore: refactor autoqa workflow * chore: fix upload turn
87 lines
2.4 KiB
Bash
87 lines
2.4 KiB
Bash
#!/bin/bash
|
|
# macOS install script for Jan app
|
|
|
|
echo "Installing Jan app from DMG..."
|
|
|
|
# Mount the DMG
|
|
hdiutil attach "/tmp/jan-installer.dmg" -mountpoint "/tmp/jan-mount"
|
|
|
|
# Find the .app file in the mounted DMG
|
|
APP_FILE=$(find "/tmp/jan-mount" -name "*.app" -type d | head -1)
|
|
|
|
if [ -z "$APP_FILE" ]; then
|
|
echo "❌ No .app file found in DMG"
|
|
hdiutil detach "/tmp/jan-mount" || true
|
|
exit 1
|
|
fi
|
|
|
|
echo "Found app file: $APP_FILE"
|
|
|
|
# Copy to Applications directory
|
|
cp -R "$APP_FILE" /Applications/
|
|
|
|
# Unmount the DMG
|
|
hdiutil detach "/tmp/jan-mount"
|
|
|
|
# Determine app name and executable path
|
|
APP_NAME=$(basename "$APP_FILE")
|
|
|
|
echo "App name: $APP_NAME"
|
|
|
|
# First, check what's actually in the MacOS folder
|
|
echo "Contents of MacOS folder:"
|
|
ls -la "/Applications/$APP_NAME/Contents/MacOS/"
|
|
|
|
# Find all executable files in MacOS folder
|
|
echo "Looking for executable files..."
|
|
find "/Applications/$APP_NAME/Contents/MacOS/" -type f -perm +111 -ls
|
|
|
|
# Try to find the main executable - it's usually the one with the same name as the app (without .app)
|
|
APP_BASE_NAME=$(basename "$APP_NAME" .app)
|
|
POTENTIAL_EXECUTABLES=(
|
|
"/Applications/$APP_NAME/Contents/MacOS/$APP_BASE_NAME"
|
|
"/Applications/$APP_NAME/Contents/MacOS/Jan"
|
|
"/Applications/$APP_NAME/Contents/MacOS/Jan-nightly"
|
|
)
|
|
|
|
APP_PATH=""
|
|
for potential_exec in "${POTENTIAL_EXECUTABLES[@]}"; do
|
|
echo "Checking: $potential_exec"
|
|
if [ -f "$potential_exec" ] && [ -x "$potential_exec" ]; then
|
|
APP_PATH="$potential_exec"
|
|
echo "Found executable: $APP_PATH"
|
|
break
|
|
fi
|
|
done
|
|
|
|
# If still not found, get any executable file
|
|
if [ -z "$APP_PATH" ]; then
|
|
echo "No predefined executable found, searching for any executable..."
|
|
APP_PATH=$(find "/Applications/$APP_NAME/Contents/MacOS/" -type f -perm +111 | head -1)
|
|
fi
|
|
|
|
if [ -z "$APP_PATH" ]; then
|
|
echo "❌ No executable found in MacOS folder"
|
|
ls -la "/Applications/$APP_NAME/Contents/MacOS/"
|
|
exit 1
|
|
fi
|
|
|
|
PROCESS_NAME=$(basename "$APP_PATH")
|
|
|
|
echo "App installed at: /Applications/$APP_NAME"
|
|
echo "Executable path: $APP_PATH"
|
|
echo "Process name: $PROCESS_NAME"
|
|
|
|
# Export for test step
|
|
echo "JAN_APP_PATH=$APP_PATH" >> $GITHUB_ENV
|
|
echo "PROCESS_NAME=$PROCESS_NAME" >> $GITHUB_ENV
|
|
|
|
# Verify installation
|
|
if [ -f "$APP_PATH" ]; then
|
|
echo "✅ Jan app installed successfully"
|
|
ls -la "/Applications/$APP_NAME"
|
|
else
|
|
echo "❌ Jan app installation failed - executable not found"
|
|
exit 1
|
|
fi
|