50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
build-android:
|
|
image: golang:1.26.2-bookworm
|
|
before_script: |
|
|
apt update && apt install -y openjdk-17-jdk-headless unzip curl rsync patch
|
|
/usr/lib/jvm/java-17-openjdk-amd64/bin/java --version
|
|
cache:
|
|
- key: "app-compile-cache-$CI_COMMIT_REF_SLUG"
|
|
paths:
|
|
- works/core/clients/android/app/build
|
|
- Android/
|
|
- key: "go-cache-$CI_COMMIT_REF_SLUG"
|
|
paths:
|
|
- .go/pkg/mod
|
|
- .cache/go-build
|
|
# - .gradle/caches
|
|
# - .gradle/wrapper
|
|
script: |
|
|
bash ./setup-ndk.sh
|
|
export ANDROID_HOME="$PWD/Android/Sdk"
|
|
bin/update && bin/apply-ci && cd works/core
|
|
export version="$(git describe --tags)-$CI_COMMIT_SHORT_SHA" && echo "building version $version"
|
|
git submodule update --init --recursive
|
|
make lib_install
|
|
export PATH="$PATH:$(go env GOPATH)/bin"
|
|
go mod tidy
|
|
make lib_android
|
|
cd clients/android && git checkout dev && cd ../..
|
|
go run -v ./cmd/internal/update_android_version --ci --nightly
|
|
mkdir clients/android/app/libs # start building
|
|
cp *.aar clients/android/app/libs
|
|
cd clients/android
|
|
./gradlew --no-daemon :app:assembleOtherRelease
|
|
cd ../..
|
|
mkdir -p dist # prepare upload
|
|
cp clients/android/app/build/outputs/apk/other/release/*arm64-v8a.apk dist
|
|
mv dist ../..
|
|
VERSION_CODE=$(grep VERSION_CODE clients/android/version.properties | cut -d= -f2)
|
|
VERSION_NAME=$(grep VERSION_NAME clients/android/version.properties | cut -d= -f2)
|
|
variables:
|
|
ANDROID_NDK_VERSION: r28
|
|
LOCAL_PROPERTIES: "S0VZU1RPUkVfUEFTUz0xMTQ1MTQKQUxJQVNfTkFNRT1hbGlhcwpBTElBU19QQVNTPTExNDUxNAo="
|
|
GOPATH: "$CI_PROJECT_DIR/.go"
|
|
GOMODCACHE: "$CI_PROJECT_DIR/.go/pkg/mod"
|
|
GOCACHE: "$CI_PROJECT_DIR/.cache/go-build"
|
|
# GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle"
|
|
|
|
artifacts:
|
|
paths:
|
|
- "./dist"
|