@@ -31,7 +31,93 @@ permissions:
3131 id-token : write # Required for OIDC trusted publishing
3232
3333jobs :
34+ # Pre-release validation jobs
35+ validate-android :
36+ runs-on : ubuntu-latest
37+ timeout-minutes : 20
38+ env :
39+ GRADLE_OPTS : ' -Dorg.gradle.daemon=true -Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true -Dorg.gradle.jvmargs="-Xmx4096m -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError"'
40+ steps :
41+ - name : Checkout
42+ uses : actions/checkout@v4
43+
44+ - name : Setup Node.js
45+ uses : actions/setup-node@v4
46+ with :
47+ node-version : 20.x
48+
49+ - name : Enable Corepack (Yarn 3)
50+ run : corepack enable
51+
52+ - name : Install dependencies
53+ run : yarn install --immutable
54+
55+ - name : Generate nitrogen code
56+ run : yarn nitrogen
57+
58+ - name : Install JDK
59+ uses : actions/setup-java@v4
60+ with :
61+ distribution : ' temurin'
62+ java-version : ' 17'
63+
64+ - name : Accept Android SDK licenses
65+ run : yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true
66+
67+ - name : Build Android library
68+ working-directory : example/android
69+ run : ./gradlew :react-native-iap:assembleDebug --stacktrace
70+
71+ validate-ios :
72+ runs-on : macos-15
73+ timeout-minutes : 30
74+ env :
75+ XCODE_VERSION : 16.4
76+ steps :
77+ - name : Checkout
78+ uses : actions/checkout@v4
79+
80+ - name : Setup Node.js
81+ uses : actions/setup-node@v4
82+ with :
83+ node-version : 20.x
84+
85+ - name : Enable Corepack (Yarn 3)
86+ run : corepack enable
87+
88+ - name : Install dependencies
89+ run : yarn install --immutable
90+
91+ - name : Generate nitrogen code
92+ run : yarn nitrogen
93+
94+ - name : Set up Xcode
95+ uses : maxim-lobanov/setup-xcode@v1
96+ with :
97+ xcode-version : ${{ env.XCODE_VERSION }}
98+
99+ - name : Install Ruby dependencies
100+ working-directory : example
101+ run : bundle install
102+
103+ - name : Install CocoaPods dependencies
104+ working-directory : example/ios
105+ run : bundle exec pod install
106+
107+ - name : Build iOS library
108+ working-directory : example/ios
109+ run : |
110+ set -o pipefail
111+ xcodebuild build \
112+ -workspace example.xcworkspace \
113+ -scheme example \
114+ -destination 'generic/platform=iOS Simulator' \
115+ -configuration Debug \
116+ CODE_SIGNING_ALLOWED=NO \
117+ COMPILER_INDEX_STORE_ENABLE=NO
118+
34119 deploy :
120+ needs : [validate-android, validate-ios]
35121 runs-on : ubuntu-latest
36122
37123 steps :
0 commit comments