1+ name : Release React Native AAR
2+ # This workflow is manually triggered to release a new React Native AAR version
3+ on :
4+ workflow_dispatch :
5+
6+ jobs :
7+ release-aar :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions/checkout@v2
11+
12+ - name : Debug NDK Configuration
13+ run : |
14+ echo "ANDROID_HOME: $ANDROID_HOME"
15+ ls -la $ANDROID_HOME/ndk/
16+ echo "Current NDK_HOME: $ANDROID_NDK_HOME"
17+
18+ - name : Clear any pre-existing local.properties
19+ run : |
20+ rm -f local.properties
21+ rm -f packages/react-native/ReactAndroid/local.properties
22+ rm -f android/local.properties
23+
24+ - name : Configure environment for correct NDK
25+ run : |
26+ # Extract NDK version
27+ NDK_VERSION=$(grep 'ndkVersion =' packages/react-native/gradle/libs.versions.toml | sed -E 's/.*"([0-9.]+)".*/\1/')
28+ echo "Using NDK version from libs.versions.toml: $NDK_VERSION"
29+
30+ # Install the correct NDK version
31+ echo "y" | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install "ndk;$NDK_VERSION"
32+
33+ # Create symlink to make the installed NDK the default
34+ sudo rm -rf $ANDROID_HOME/ndk/27.2.12479018
35+ sudo ln -sf $ANDROID_HOME/ndk/$NDK_VERSION $ANDROID_HOME/ndk/27.2.12479018
36+
37+ # Verify symlink
38+ ls -la $ANDROID_HOME/ndk/
39+ readlink -f $ANDROID_HOME/ndk/27.2.12479018
40+
41+ - name : Publish Maven Artifact
42+ run : |
43+ cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import
44+ gpg --list-secret-keys --keyid-format LONG
45+ yarn install
46+ echo "signing.gnupg.keyName=${OSSRH_GPG_SECRET_KEY_ID}" >> gradle.properties
47+ echo "signing.gnupg.passphrase=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties
48+ echo "repositoryUsername=${CENTRAL_SONATYPE_USERNAME}" >> gradle.properties
49+ echo "repositoryPassword=${CENTRAL_SONATYPE_PASSWORD}" >> gradle.properties
50+ echo "signingKey=${OSSRH_GPG_SECRET_KEY}" >> gradle.properties
51+ echo "signingPassword=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties
52+ sed -i.bu 's/\(react.internal.publishingGroup=\)com.facebook.react/\1com.walmartlabs.ern/g' packages/react-native/ReactAndroid/gradle.properties
53+ sed -i.bu 's/GROUP=com.facebook.react/GROUP=com.walmartlabs.ern/g' packages/react-native/ReactAndroid/hermes-engine/gradle.properties
54+ sed -i.bu 's/group = "com.facebook.react"/group = "com.walmartlabs.ern"/g' packages/react-native/ReactAndroid/hermes-engine/build.gradle.kts
55+ # Use the ndkVersion property explicitly
56+ ./gradlew assembleRelease -PndkVersion=27.1.12297006
57+ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository --stacktrace -PndkVersion=27.1.12297006
58+ env :
59+ OSSRH_GPG_SECRET_KEY_ID : ${{ secrets.OSSRH_GPG_SECRET_KEY_ID }}
60+ OSSRH_GPG_SECRET_KEY : ${{ secrets.OSSRH_GPG_SECRET_KEY }}
61+ OSSRH_GPG_SECRET_KEY_PASSWORD : ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
62+ CENTRAL_SONATYPE_USERNAME : ${{ secrets.CENTRAL_SONATYPE_USERNAME }}
63+ CENTRAL_SONATYPE_PASSWORD : ${{ secrets.CENTRAL_SONATYPE_PASSWORD }}
0 commit comments