From 0b45d3acd1cf26a4ba9eccbcb43cfd48841468bd Mon Sep 17 00:00:00 2001 From: Benoit Lemaire <blemaire@walmart.com> Date: Mon, 24 May 2021 13:23:04 -0700 Subject: [PATCH 1/4] Add initial release-aar github workflow --- .github/workflows/release-aar.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/release-aar.yaml diff --git a/.github/workflows/release-aar.yaml b/.github/workflows/release-aar.yaml new file mode 100644 index 00000000000000..2adce1ab144675 --- /dev/null +++ b/.github/workflows/release-aar.yaml @@ -0,0 +1,27 @@ +name: Release React Native AAR +# This workflow is manually triggered to release a new React Native AAR version +on: + workflow_dispatch: + +jobs: + release-aar: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build + run: | + cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import + gpg --list-secret-keys --keyid-format LONG + yarn install + echo "signing.keyId=6EC70A60" >> gradle.properties + echo "signing.password=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties + echo "repositoryUsername=${OSSRH_SONATYPE_USERNAME}" >> gradle.properties + echo "repositoryPassword=${OSSRH_SONATYPE_PASSWORD}" >> gradle.properties + sed -i.bu 's/com.facebook.react/com.walmartlabs.ern/g' ReactAndroid/gradle.properties + ./gradlew ReactAndroid:assembleRelease + ./gradlew ReactAndroid:uploadArchives + env: + OSSRH_GPG_SECRET_KEY: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + OSSRH_GPG_SECRET_KEY_PASSWORD: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + OSSRH_SONATYPE_USERNAME: ${{ secrets.OSSRH_SONATYPE_USERNAME }} + OSSRH_SONATYPE_PASSWORD: ${{ secrets.OSSRH_SONATYPE_PASSWORD }} From e2f5d842a4aab30386e6a1fe2c4192dc01b68080 Mon Sep 17 00:00:00 2001 From: Benoit Lemaire <blemaire@walmart.com> Date: Thu, 3 Jun 2021 13:05:23 -0700 Subject: [PATCH 2/4] Remove release-aar workflow --- .github/workflows/release-aar.yaml | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 .github/workflows/release-aar.yaml diff --git a/.github/workflows/release-aar.yaml b/.github/workflows/release-aar.yaml deleted file mode 100644 index 2adce1ab144675..00000000000000 --- a/.github/workflows/release-aar.yaml +++ /dev/null @@ -1,27 +0,0 @@ -name: Release React Native AAR -# This workflow is manually triggered to release a new React Native AAR version -on: - workflow_dispatch: - -jobs: - release-aar: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Build - run: | - cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import - gpg --list-secret-keys --keyid-format LONG - yarn install - echo "signing.keyId=6EC70A60" >> gradle.properties - echo "signing.password=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties - echo "repositoryUsername=${OSSRH_SONATYPE_USERNAME}" >> gradle.properties - echo "repositoryPassword=${OSSRH_SONATYPE_PASSWORD}" >> gradle.properties - sed -i.bu 's/com.facebook.react/com.walmartlabs.ern/g' ReactAndroid/gradle.properties - ./gradlew ReactAndroid:assembleRelease - ./gradlew ReactAndroid:uploadArchives - env: - OSSRH_GPG_SECRET_KEY: ${{ secrets.OSSRH_GPG_SECRET_KEY }} - OSSRH_GPG_SECRET_KEY_PASSWORD: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - OSSRH_SONATYPE_USERNAME: ${{ secrets.OSSRH_SONATYPE_USERNAME }} - OSSRH_SONATYPE_PASSWORD: ${{ secrets.OSSRH_SONATYPE_PASSWORD }} From 036fd8837d001d2e82b291ce0bc3d7c53e990e13 Mon Sep 17 00:00:00 2001 From: Benoit Lemaire <blemaire@walmart.com> Date: Thu, 3 Jun 2021 13:09:42 -0700 Subject: [PATCH 3/4] Update release.gradle for maven publication --- ReactAndroid/release.gradle | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/ReactAndroid/release.gradle b/ReactAndroid/release.gradle index 9ddc7cfc78be21..3d877ad8344dee 100644 --- a/ReactAndroid/release.gradle +++ b/ReactAndroid/release.gradle @@ -20,6 +20,18 @@ def isReleaseBuild() { return VERSION_NAME.contains("SNAPSHOT") == false } +def getRepositoryUrl() { + return project.findProperty("repositoryUrl") ?: "https://oss.sonatype.org/service/local/staging/deploy/maven2/" +} + +def getRepositoryUsername() { + return project.findProperty("repositoryUsername") ?: "" +} + +def getRepositoryPassword() { + return project.findProperty("repositoryPassword") ?: "" +} + def configureReactNativePom(def pom) { pom.project { name(POM_NAME) @@ -72,9 +84,28 @@ afterEvaluate { project -> signing { required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } + useGpgCmd() sign(configurations.archives) } + uploadArchives { + configuration = configurations.archives + repositories.mavenDeployer { + beforeDeployment { + MavenDeployment deployment -> signing.signPom(deployment) + } + + repository(url: getRepositoryUrl()) { + authentication( + userName: getRepositoryUsername(), + password: getRepositoryPassword()) + + } + + configureReactNativePom(pom) + } + } + task installArchives(type: Upload) { configuration = configurations.archives repositories.mavenDeployer { From 41ead3f1d0c2396c2cafd02fb1b4eb672b84bfa8 Mon Sep 17 00:00:00 2001 From: Benoit Lemaire <blemaire@walmart.com> Date: Thu, 3 Jun 2021 13:10:02 -0700 Subject: [PATCH 4/4] Add release-aar GitHub workflow --- .github/workflows/release-aar.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/release-aar.yaml diff --git a/.github/workflows/release-aar.yaml b/.github/workflows/release-aar.yaml new file mode 100644 index 00000000000000..2e8eb12f94cb10 --- /dev/null +++ b/.github/workflows/release-aar.yaml @@ -0,0 +1,27 @@ +name: Release React Native AAR +# This workflow is manually triggered to release a new React Native AAR version +on: + workflow_dispatch: + +jobs: + release-aar: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build + run: | + cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import + gpg --list-secret-keys --keyid-format LONG + yarn install + echo "signing.gnupg.keyName=5A0C5406E56C2DC4749A8E481AF5F9E36EC70A60" >> gradle.properties + echo "signing.gnupg.passphrase=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties + echo "repositoryUsername=${OSSRH_SONATYPE_USERNAME}" >> gradle.properties + echo "repositoryPassword=${OSSRH_SONATYPE_PASSWORD}" >> gradle.properties + sed -i.bu 's/com.facebook.react/com.walmartlabs.ern/g' ReactAndroid/gradle.properties + ./gradlew ReactAndroid:assembleRelease + ./gradlew ReactAndroid:uploadArchives + env: + OSSRH_GPG_SECRET_KEY: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + OSSRH_GPG_SECRET_KEY_PASSWORD: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + OSSRH_SONATYPE_USERNAME: ${{ secrets.OSSRH_SONATYPE_USERNAME }} + OSSRH_SONATYPE_PASSWORD: ${{ secrets.OSSRH_SONATYPE_PASSWORD }}