name: Android CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - name: Install GNU C++ compiler run: | sudo apt-get update sudo apt-get install -y g++ - name: Setup JDK 1.11 uses: actions/setup-java@v1 with: java-version: 1.11 - name: Setup Android SDK uses: maxim-lobanov/setup-android-tools@v1 with: packages: | build-tools;31.0.0 platforms;android-31 ndk;21.4.7075529 cmake;3.18.1 cache: true - name: Build required modules run: | export ANDROID_SDK_ROOT=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.4.7075529 pushd app/jni ./build_boost.sh ./build_openssl.sh ./build_miniupnpc.sh popd - name: Build with Gradle run: ./gradlew --no-daemon assembleDebug - name: Upload artifacts uses: actions/upload-artifact@v2 with: name: android-apks.zip path: app/build/outputs/apk/debug/*.apk build-binary: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - name: Install GNU C++ compiler run: | sudo apt-get update sudo apt-get install -y g++ - name: Setup JDK 1.11 uses: actions/setup-java@v1 with: java-version: 1.11 - name: Setup Android SDK uses: maxim-lobanov/setup-android-tools@v1 with: packages: | ndk;21.4.7075529 cmake;3.18.1 cache: true - name: Build required modules run: | export ANDROID_SDK_ROOT=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.4.7075529 pushd binary/jni ./build_boost.sh ./build_openssl.sh ./build_miniupnpc.sh popd - name: Build binaries with NDK run: | pushd binary/jni $ANDROID_NDK_HOME/ndk-build -j2 NDK_MODULE_PATH=$PWD popd - name: Create package with built binaries run: | pushd contrib/binary_pack ./build-archive popd - name: Upload binaries archive uses: actions/upload-artifact@v2 with: name: android-binaries.zip path: binary/libs/* - name: Upload binaries package uses: actions/upload-artifact@v2 with: name: android-binaries-pack.zip path: contrib/binary_pack/i2pd_*_android_binary.zip