-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ar/check ml ruby #1430
Ar/check ml ruby #1430
Changes from all commits
fd0aa1a
fb913fb
f5fbc33
53af377
d79fe09
161ee49
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
3.2.5 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
#!/bin/bash | ||
|
||
# ANSI color codes | ||
GREEN='\033[0;32m' | ||
RED='\033[0;31m' | ||
YELLOW='\033[1;33m' | ||
NC='\033[0m' # No Color | ||
BOLD='\033[1m' | ||
|
||
# Function to check if a command exists | ||
command_exists() { | ||
command -v "$1" >/dev/null 2>&1 | ||
} | ||
|
||
# Function to print status | ||
print_status() { | ||
local name=$1 | ||
local version=$2 | ||
local path=$3 | ||
local status=$4 | ||
|
||
printf "${BOLD}%-12s${NC}" "$name" | ||
|
||
if [ "$status" = "OK" ]; then | ||
printf "${GREEN}✓${NC} " | ||
else | ||
printf "${RED}✗${NC} " | ||
fi | ||
|
||
printf "%-45s" "$version" | ||
echo "$path" | ||
} | ||
|
||
echo -e "\n${BOLD}Checking iOS build dependencies...${NC}\n" | ||
|
||
# Check Ruby | ||
if command_exists ruby; then | ||
RUBY_VERSION=$(ruby -v) | ||
RUBY_PATH=$(which ruby) | ||
print_status "RUBY" "$RUBY_VERSION" "$RUBY_PATH" "OK" | ||
else | ||
print_status "RUBY" "Not installed" "N/A" "ERROR" | ||
fi | ||
|
||
# Check Bundler | ||
if command_exists bundle; then | ||
BUNDLER_VERSION=$(bundle -v) | ||
BUNDLER_PATH=$(which bundle) | ||
print_status "BUNDLER" "$BUNDLER_VERSION" "$BUNDLER_PATH" "OK" | ||
else | ||
print_status "BUNDLER" "Not installed" "N/A" "ERROR" | ||
fi | ||
|
||
# Check CocoaPods | ||
if command_exists pod; then | ||
POD_VERSION=$(pod --version) | ||
POD_PATH=$(which pod) | ||
print_status "COCOAPODS" "v$POD_VERSION" "$POD_PATH" "OK" | ||
else | ||
graphite-app[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||
print_status "COCOAPODS" "Not installed" "N/A" "ERROR" | ||
fi | ||
|
||
# Print Gem environment | ||
echo -e "\n${BOLD}Ruby Gem Environment:${NC}" | ||
echo "GEM HOME: $(gem env home)" | ||
echo "GEM PATH: $(gem env gempath)" | ||
|
||
# Check Gemfile configuration | ||
if [ -f "ios/Gemfile" ]; then | ||
echo -e "\n${BOLD}Gemfile Configuration:${NC}" | ||
echo "Ruby Version: $(grep "ruby '" ios/Gemfile | cut -d"'" -f2)" | ||
echo "Bundler Version: $(grep "bundler" ios/Gemfile | grep -v "#" | head -n1)" | ||
else | ||
echo -e "\n${RED}Warning: ios/Gemfile not found${NC}" | ||
fi | ||
|
||
echo -e "\nDone checking dependencies.\n" |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,44 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#!/bin/bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
############################################################### | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Quickly cleans and rebuilds a React Native project by moving | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# build directories to Trash and reinstalling dependencies. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Uses AppleScript for fast native Trash operations, similar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# to Cmd+Delete in Finder. This is much faster than rm -rf. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Side Effects: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# - Moves node_modules, ios/build, ios/Pods to Trash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# - Runs yarn install | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# - Runs pod install for iOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# - Prints status messages to terminal | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Example: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# In terminal from project root: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# ./scripts/reactNativeCleanBuild.sh | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Output: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Moving node_modules to trash... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Moving ios/build to trash... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Moving ios/Pods to trash... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Running yarn install... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Running pod install... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Clean and rebuild complete! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
############################################################### | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Moving node_modules to trash..." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/node_modules\"" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Moving ios/build to trash..." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/ios/build\"" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Moving ios/Pods to trash..." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/ios/Pods\"" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+29
to
+36
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add platform check and error handling The script uses macOS-specific commands without platform verification or error handling. #!/bin/bash
+
+# Exit on error
+set -e
+
+# Check if running on macOS
+if [[ "$OSTYPE" != "darwin"* ]]; then
+ echo "Error: This script requires macOS"
+ exit 1
+fi
+
+# Function to safely move to trash
+move_to_trash() {
+ local path="$1"
+ local name="$2"
+ if [ -e "$path" ]; then
+ echo "Moving $name to trash..."
+ osascript -e "tell app \"Finder\" to delete POSIX file \"$path\"" || {
+ echo "Error: Failed to move $name to trash"
+ exit 1
+ }
+ else
+ echo "Skipping $name - directory not found"
+ fi
+}
-echo "Moving node_modules to trash..."
-osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/node_modules\""
-
-echo "Moving ios/build to trash..."
-osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/ios/build\""
-
-echo "Moving ios/Pods to trash..."
-osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/ios/Pods\""
+move_to_trash "$PWD/node_modules" "node_modules"
+move_to_trash "$PWD/ios/build" "ios/build"
+move_to_trash "$PWD/ios/Pods" "ios/Pods" 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Running yarn install..." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn install | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Running pod install..." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cd ios && pod install && cd .. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+38
to
+42
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add error handling for dependency operations The yarn and pod commands lack error handling and verification. -echo "Running yarn install..."
-yarn install
+echo "Running yarn install..."
+yarn install || {
+ echo "Error: yarn install failed"
+ exit 1
+}
-echo "Running pod install..."
-cd ios && pod install && cd ..
+echo "Running pod install..."
+cd ios || exit 1
+pod install || {
+ echo "Error: pod install failed"
+ cd ..
+ exit 1
+}
+cd .. 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Clean and rebuild complete!" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical: iOS builds require macOS
The workflow is configured to run on Ubuntu, but iOS builds typically require macOS for Xcode toolchain. This will likely cause build failures.
Apply this diff to fix the OS:
📝 Committable suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is triggering an eas build, so it can use ubuntu
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alexrisch Perfect, understood. If EAS build supports running all the necessary iOS tools on Ubuntu, then continuing with ubuntu-latest is fine. Let me know if there's anything else you need!