diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index 24aa6c1ad27..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 }} @@ -31,11 +35,14 @@ jobs: build-aar: name: build-aar needs: check-if-aar-exists - uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main + 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 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 +59,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 + echo "signing.secretKeyRingFile=/tmp/secring.gpg" >> ~/.gradle/gradle.properties + + echo -n "$SECRET_EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS" | base64 -d > /tmp/secring.gpg + # Build AAR Package mkdir aar-out export BUILD_AAR_DIR=aar-out @@ -61,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 b284ce3896e..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.5.0-SNAPSHOT") + coordinates("org.pytorch", "executorch-android", "0.7.0") pom { name = "ExecuTorch Android"