Skip to content

Conversation

@ignaciosantise
Copy link
Collaborator

Summary

  • Remove native folders from POS sample to take advantage of CNG
  • Improved release workflows

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR converts the pos-app from a standard React Native project to an Expo-managed workflow and updates WalletConnect dependencies. The major changes include:

  • Removal of iOS and Android native directories in favor of Expo-managed builds
  • Update of WalletConnect packages from 2.22.4 to 2.23.0
  • Update of @reown/appkit packages from 1.8.9 to 1.8.11
  • Addition of Expo prebuild steps to CI/CD workflows
  • Removal of explicit Xcode project/workspace paths from workflows in favor of dynamic discovery
  • Addition of code signing configuration in the Fastlane file
  • Change of app scheme from "mobilepos" to "WPay"

Reviewed Changes

Copilot reviewed 52 out of 97 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
fastlane/Fastfile Added code signing configuration using update_code_signing_settings
dapps/pos-app/package.json Updated WalletConnect dependencies to 2.23.0
dapps/pos-app/package-lock.json Updated dependency lockfile with new package versions
dapps/pos-app/ios/* Removed all iOS native files (converted to Expo-managed)
dapps/pos-app/android/* Removed all Android native files (converted to Expo-managed)
dapps/pos-app/app.json Changed app scheme from "mobilepos" to "WPay"
dapps/pos-app/.gitignore Added ios/ and android/ directories to gitignore
.github/workflows/release-ios-base.yaml Added Expo prebuild support and dynamic Xcode path discovery
.github/workflows/release-android-base.yaml Added Expo prebuild support with conditional gradle caching
.github/workflows/release-pos-ios.yaml Updated scheme name and added is-expo-project flag
.github/workflows/release-pos-android.yaml Added is-expo-project flag
.github/workflows/release--ios-.yaml Removed explicit Xcode project/workspace paths
Files not reviewed (2)
  • dapps/pos-app/ios/mobilepos.xcworkspace/contents.xcworkspacedata: Language not supported
  • dapps/pos-app/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +52 to +57
update_code_signing_settings(
use_automatic_signing: false,
path: ENV['XCODE_PROJECT_PATH'],
bundle_identifier: ENV['BUNDLE_ID'],
code_sign_identity: "Apple Distribution",
)
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The trailing comma after code_sign_identity on line 56 is unnecessary and inconsistent with Ruby best practices for single-line method calls. Consider removing it for cleaner code style.

Copilot uses AI. Check for mistakes.
~/.gradle/wrapper
${{ inputs.root-path }}/android/.gradle
key: ${{ runner.os }}-gradle-${{ inputs.name }}-${{ hashFiles(format('{0}/android/**/*.gradle*', inputs.root-path), format('{0}/android/**/gradle-wrapper.properties', inputs.root-path)) }}
${{ inputs.is-expo-project == false && format('{0}/android/.gradle', inputs.root-path) || '' }}
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The conditional logic mixing GitHub Actions expressions with logical operators is difficult to read. Consider using a conditional step instead of inline ternary-like operations for better maintainability.

Copilot uses AI. Check for mistakes.
# Find the .xcodeproj and .xcworkspace (works for both Expo and non-Expo)
XCODEPROJ=$(find "${{ inputs.root-path }}/ios" -maxdepth 1 -name "*.xcodeproj" -print -quit)
XCWORKSPACE=$(find "${{ inputs.root-path }}/ios" -maxdepth 1 -name "*.xcworkspace" -print -quit)
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dynamic Xcode path discovery assumes the ios directory exists. For Expo projects, prebuild runs before this step, but this step should validate that the paths were found and fail gracefully if they weren't. Consider adding validation after the find commands to ensure XCODEPROJ and XCWORKSPACE are not empty.

Suggested change
if [ -z "$XCODEPROJ" ] || [ -z "$XCWORKSPACE" ]; then
echo "❌ Error: Could not find Xcode project or workspace in '${{ inputs.root-path }}/ios'."
echo "XCODEPROJ: '$XCODEPROJ'"
echo "XCWORKSPACE: '$XCWORKSPACE'"
exit 1
fi

Copilot uses AI. Check for mistakes.
@ignaciosantise ignaciosantise merged commit 0c838ef into main Nov 3, 2025
12 checks passed
@ignaciosantise ignaciosantise deleted the chore/expo-cng branch November 3, 2025 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants