diff --git a/.github/workflows/android_gradle.yml b/.github/workflows/android_gradle.yml new file mode 100644 index 0000000..031961b --- /dev/null +++ b/.github/workflows/android_gradle.yml @@ -0,0 +1,52 @@ +name: Android Gradle Build test logic + +on: + workflow_call: + inputs: + os: + required: true + type: string + jdk_distro: + required: true + type: string + jdk_version: + required: true + type: string + +jobs: + build_wolfssljni: + runs-on: ${{ inputs.os }} + steps: + - name: Clone wolfcrypt-jni + uses: actions/checkout@v4 + + # Clone native wolfSSL + - name: Clone native wolfSSL + uses: actions/checkout@v4 + with: + repository: 'wolfssl/wolfssl' + path: IDE/Android/app/src/main/cpp/wolfssl + + # Copy options.h.in to blank options.h + - name: Create blank options.h + run: cp IDE/Android/app/src/main/cpp/wolfssl/wolfssl/options.h.in IDE/Android/app/src/main/cpp/wolfssl/wolfssl/options.h + + # Setup Java + - name: Setup java + uses: actions/setup-java@v4 + with: + distribution: ${{ inputs.jdk_distro }} + java-version: ${{ inputs.jdk_version }} + + # Gradle assembleDebug + - name: Gradle assembleDebug + run: cd IDE/Android && ls && ./gradlew assembleDebug + + # Gradle assembleDebugUnitTest + - name: Gradle assembleDebugUnitTest + run: cd IDE/Android && ls && ./gradlew assembleDebugUnitTest + + # Gradle assembleDebugAndroidTest + - name: Gradle assembleDebugAndroidTest + run: cd IDE/Android && ls && ./gradlew assembleDebugAndroidTest + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 08b25c2..325f2e8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -139,3 +139,18 @@ jobs: jdk_version: ${{ matrix.jdk_version }} wolfssl_configure: ${{ matrix.wolfssl_configure }} + # ----------------------- Android Gradle build ------------------------ + # Run Android gradle build over PR code, only running on Linux with one + # JDK/version for now. + android-gradle: + strategy: + matrix: + os: [ 'ubuntu-latest' ] + jdk_version: [ '21' ] + name: Android Gradle (${{ matrix.os }} Zulu JDK ${{ matrix.jdk_version }}) + uses: ./.github/workflows/android_gradle.yml + with: + os: ${{ matrix.os }} + jdk_distro: "zulu" + jdk_version: ${{ matrix.jdk_version }} +