cleanup deployment and use aar instead of jar #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build jmeAndroidNatives | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - main | |
| pull_request: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| BuildAndroidNatives: | |
| name: Build Android natives | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/cirruslabs/android-sdk:36-ndk | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '21' | |
| - name: Install CMake | |
| run: | | |
| apt-get update | |
| apt-get install -y cmake | |
| cmake --version | |
| - name: Validate the Gradle wrapper | |
| uses: gradle/actions/wrapper-validation@v6.1.0 | |
| - name: Build | |
| run: | | |
| export ANDROID_NDK="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" | |
| version_args="" | |
| if [ "$GITHUB_EVENT_NAME" = "release" ]; then | |
| version_args="-PreleaseVersion=${GITHUB_REF_NAME#v}" | |
| fi | |
| ./gradlew $version_args --no-daemon assemble --console=plain --stacktrace | |
| - name: Upload AAR output | |
| uses: actions/upload-artifact@v7.0.1 | |
| with: | |
| name: aar | |
| path: build/outputs/aar | |
| PublishSnapshot: | |
| name: Deploy Snapshot | |
| needs: [BuildAndroidNatives] | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/cirruslabs/android-sdk:36-ndk | |
| if: github.event_name == 'push' && (github.ref_name == 'master' || github.ref_name == 'main') | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '21' | |
| - name: Install CMake | |
| run: | | |
| apt-get update | |
| apt-get install -y cmake | |
| cmake --version | |
| - name: Publish snapshot to Sonatype | |
| run: | | |
| if [ "${{ secrets.OSSRH_PASSWORD }}" = "" ]; | |
| then | |
| echo "Configure the following secrets to enable uploading to Sonatype:" | |
| echo "OSSRH_PASSWORD, OSSRH_USERNAME, SIGNING_KEY, SIGNING_PASSWORD" | |
| else | |
| export ANDROID_NDK="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" | |
| ./gradlew publishMavenPublicationToSNAPSHOTRepository \ | |
| -PcentralPassword=${{ secrets.OSSRH_PASSWORD }} \ | |
| -PcentralUsername=${{ secrets.OSSRH_USERNAME }} \ | |
| -PsigningKey='${{ secrets.SIGNING_KEY }}' \ | |
| -PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \ | |
| --console=plain --stacktrace | |
| fi | |
| PublishRelease: | |
| name: Deploy Release | |
| needs: [BuildAndroidNatives] | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/cirruslabs/android-sdk:36-ndk | |
| if: github.event_name == 'release' | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '21' | |
| - name: Install CMake | |
| run: | | |
| apt-get update | |
| apt-get install -y cmake | |
| cmake --version | |
| - name: Stage release artifacts for Central | |
| run: | | |
| if [ "${{ secrets.OSSRH_PASSWORD }}" = "" ]; | |
| then | |
| echo "Configure the following secrets to enable uploading to Sonatype:" | |
| echo "OSSRH_PASSWORD, OSSRH_USERNAME, SIGNING_KEY, SIGNING_PASSWORD" | |
| else | |
| export ANDROID_NDK="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" | |
| ./gradlew publishMavenPublicationToCentralRepository \ | |
| -PcentralPassword=${{ secrets.OSSRH_PASSWORD }} \ | |
| -PcentralUsername=${{ secrets.OSSRH_USERNAME }} \ | |
| -PsigningKey='${{ secrets.SIGNING_KEY }}' \ | |
| -PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \ | |
| -PreleaseVersion=${GITHUB_REF_NAME#v} \ | |
| --console=plain --stacktrace | |
| fi | |
| - name: Publish to GitHub Packages | |
| run: | | |
| export ANDROID_NDK="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" | |
| if [ "${{ secrets.SIGNING_PASSWORD }}" = "" ]; | |
| then | |
| ./gradlew publishMavenPublicationToGitHubPackagesRepository \ | |
| -PreleaseVersion=${GITHUB_REF_NAME#v} \ | |
| -PgithubPackagesUsername='${{ github.actor }}' \ | |
| -PgithubPackagesPassword='${{ secrets.GITHUB_TOKEN }}' \ | |
| --console=plain --stacktrace | |
| else | |
| ./gradlew publishMavenPublicationToGitHubPackagesRepository \ | |
| -PsigningKey='${{ secrets.SIGNING_KEY }}' \ | |
| -PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \ | |
| -PreleaseVersion=${GITHUB_REF_NAME#v} \ | |
| -PgithubPackagesUsername='${{ github.actor }}' \ | |
| -PgithubPackagesPassword='${{ secrets.GITHUB_TOKEN }}' \ | |
| --console=plain --stacktrace | |
| fi |