From 20bf9196253c1a6a8133c0d98395fbf641debcae Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Mon, 31 Mar 2025 15:26:01 -0700 Subject: [PATCH 1/5] [TEST ONLY] --- .github/workflows/android-release-artifacts.yml | 11 +++++++++++ extension/android/executorch_android/build.gradle | 2 +- scripts/build_android_library.sh | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index 95664c116f4..9957790487b 100644 --- a/.github/workflows/android-release-artifacts.yml +++ b/.github/workflows/android-release-artifacts.yml @@ -36,6 +36,7 @@ jobs: id-token: write contents: read with: + secrets-env: EXECUTORCH_MAVEN_SIGNING_KEYID EXECUTORCH_MAVEN_SIGNING_PASSWORD EXECUTORCH_MAVEN_CENTRAL_PASSWORD EXECUTORCH_MAVEN_CENTRAL_USERNAME EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-clang12-android submodules: 'true' @@ -52,6 +53,16 @@ jobs: PYTHON_EXECUTABLE=python bash .ci/scripts/setup-linux.sh --build-tool buck2 export ARTIFACTS_DIR_NAME=artifacts-to-be-uploaded + mkdir -p ~/.gradle + touch ~/.gradle/gradle.properties + echo "signing.keyId=${SECRET_EXECUTORCH_MAVEN_SIGNING_KEYID}" >> ~/.gradle/gradle.properties + echo "signing.password=${SECRET_EXECUTORCH_MAVEN_SIGNING_PASSWORD}" >> ~/.gradle/gradle.properties + echo "mavenCentralUsername=${SECRET_EXECUTORCH_MAVEN_CENTRAL_USERNAME}" >> ~/.gradle/gradle.properties + echo "mavenCentralPassword=${SECRET_EXECUTORCH_MAVEN_CENTRAL_PASSWORD}" >> ~/.gradle/gradle.properties + signing.secretKeyRingFile=/tmp/secring.gpg + + echo -n "$SECRET_EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS" | base64 --decode -o /tmp/secring.gpg + # Build AAR Package mkdir aar-out export BUILD_AAR_DIR=aar-out diff --git a/extension/android/executorch_android/build.gradle b/extension/android/executorch_android/build.gradle index b284ce3896e..9af119fa093 100644 --- a/extension/android/executorch_android/build.gradle +++ b/extension/android/executorch_android/build.gradle @@ -48,7 +48,7 @@ mavenPublishing { publishToMavenCentral(SonatypeHost.DEFAULT) signAllPublications() - coordinates("org.pytorch", "executorch-android", "0.5.0-SNAPSHOT") + coordinates("org.pytorch", "executorch-android", "0.6.0-rc1") pom { name = "ExecuTorch Android" diff --git a/scripts/build_android_library.sh b/scripts/build_android_library.sh index 8a385ad6876..9d280ce42fe 100755 --- a/scripts/build_android_library.sh +++ b/scripts/build_android_library.sh @@ -126,6 +126,7 @@ build_aar() { find . -type f -name "*.so" -exec "$ANDROID_NDK"/toolchains/llvm/prebuilt/*/bin/llvm-strip {} \; fi ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build + ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew :executorch_android:publishToMavenCentral cp executorch_android/build/outputs/aar/executorch_android-debug.aar executorch.aar popd } From a30d118ef51795a2ef1b8ed05cc9c4908007f74d Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Mon, 31 Mar 2025 15:36:43 -0700 Subject: [PATCH 2/5] [TEST ONLY] Fix --- .github/workflows/android-release-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index 9957790487b..6103d4e23ad 100644 --- a/.github/workflows/android-release-artifacts.yml +++ b/.github/workflows/android-release-artifacts.yml @@ -59,7 +59,7 @@ jobs: echo "signing.password=${SECRET_EXECUTORCH_MAVEN_SIGNING_PASSWORD}" >> ~/.gradle/gradle.properties echo "mavenCentralUsername=${SECRET_EXECUTORCH_MAVEN_CENTRAL_USERNAME}" >> ~/.gradle/gradle.properties echo "mavenCentralPassword=${SECRET_EXECUTORCH_MAVEN_CENTRAL_PASSWORD}" >> ~/.gradle/gradle.properties - signing.secretKeyRingFile=/tmp/secring.gpg + echo "signing.secretKeyRingFile=/tmp/secring.gpg" >> ~/.gradle/gradle.properties echo -n "$SECRET_EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS" | base64 --decode -o /tmp/secring.gpg From 738d5b212d94725c823fee3b1262ee80f371091f Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Mon, 31 Mar 2025 16:09:11 -0700 Subject: [PATCH 3/5] [TEST ONLY] Fix --- .github/workflows/android-release-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index 6103d4e23ad..ebea1d7f95c 100644 --- a/.github/workflows/android-release-artifacts.yml +++ b/.github/workflows/android-release-artifacts.yml @@ -61,7 +61,7 @@ jobs: echo "mavenCentralPassword=${SECRET_EXECUTORCH_MAVEN_CENTRAL_PASSWORD}" >> ~/.gradle/gradle.properties echo "signing.secretKeyRingFile=/tmp/secring.gpg" >> ~/.gradle/gradle.properties - echo -n "$SECRET_EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS" | base64 --decode -o /tmp/secring.gpg + echo -n "$SECRET_EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS" | base64 -d > /tmp/secring.gpg # Build AAR Package mkdir aar-out From a3cb8d1a359df58821cc31867d4439963bffc4f3 Mon Sep 17 00:00:00 2001 From: Hansong <107070759+kirklandsign@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:12:34 -0700 Subject: [PATCH 4/5] Update android-release-artifacts.yml --- .github/workflows/android-release-artifacts.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index ebea1d7f95c..a947f7b3af7 100644 --- a/.github/workflows/android-release-artifacts.yml +++ b/.github/workflows/android-release-artifacts.yml @@ -31,7 +31,9 @@ jobs: build-aar: name: build-aar needs: check-if-aar-exists + if: ${{ !github.event.pull_request.head.repo.fork }} uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.7 + secrets: inherit permissions: id-token: write contents: read From ca4646e76364607b76c8e0ed799f8c45c3b51000 Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Mon, 7 Apr 2025 17:09:12 -0700 Subject: [PATCH 5/5] Update --- .github/workflows/android-release-artifacts.yml | 10 ++++++++++ extension/android/executorch_android/build.gradle | 2 +- scripts/build_android_library.sh | 1 - 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index a947f7b3af7..2503bf2214b 100644 --- a/.github/workflows/android-release-artifacts.yml +++ b/.github/workflows/android-release-artifacts.yml @@ -7,6 +7,10 @@ on: description: Version name to be uploaded for AAR release required: false type: string + upload_to_maven: + description: Upload the AAR to maven staging repository + required: false + type: boolean concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -74,6 +78,12 @@ jobs: shasum -a 256 "${ARTIFACTS_DIR_NAME}/executorch.aar" + # Publish to maven staging + UPLOAD_TO_MAVEN="${{ inputs.upload_to_maven }}" + if [[ "$UPLOAD_TO_MAVEN" == "true" ]]; then + (cd aar-out; ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew :executorch_android:publishToMavenCentral) + fi + upload-release-aar: name: upload-release-aar needs: build-aar diff --git a/extension/android/executorch_android/build.gradle b/extension/android/executorch_android/build.gradle index 9af119fa093..913a011406d 100644 --- a/extension/android/executorch_android/build.gradle +++ b/extension/android/executorch_android/build.gradle @@ -48,7 +48,7 @@ mavenPublishing { publishToMavenCentral(SonatypeHost.DEFAULT) signAllPublications() - coordinates("org.pytorch", "executorch-android", "0.6.0-rc1") + coordinates("org.pytorch", "executorch-android", "0.7.0") pom { name = "ExecuTorch Android" diff --git a/scripts/build_android_library.sh b/scripts/build_android_library.sh index 9d280ce42fe..8a385ad6876 100755 --- a/scripts/build_android_library.sh +++ b/scripts/build_android_library.sh @@ -126,7 +126,6 @@ build_aar() { find . -type f -name "*.so" -exec "$ANDROID_NDK"/toolchains/llvm/prebuilt/*/bin/llvm-strip {} \; fi ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build - ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew :executorch_android:publishToMavenCentral cp executorch_android/build/outputs/aar/executorch_android-debug.aar executorch.aar popd }