|
|
|
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
|