48 lines
1.9 KiB
YAML
48 lines
1.9 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
|
|
mkdir -p ~/.ssh && ssh-keyscan -p 22 -t rsa,ed25519 git.inker.bot >> ~/.ssh/known_hosts
|
|
cache:
|
|
- paths:
|
|
- .go/pkg/mod
|
|
- .cache/go-build
|
|
- works/core/clients/android/app/build
|
|
- Android/
|
|
- .gradle/caches
|
|
- .gradle/wrapper
|
|
script: |
|
|
export version="$(git describe --tags)-$CI_COMMIT_SHORT_SHA" && echo "building version $version"
|
|
bash ./setup-ndk.sh
|
|
bin/update && bin/apply-ci && cd works/core
|
|
git submodule update --init --recursive
|
|
git tag v$version -f
|
|
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
|
|
ANDROID_HOME="$CI_PROJECT_DIR/Android/Sdk" ./gradlew --no-daemon :app:assembleOtherRelease :app:assembleOtherLegacyRelease
|
|
cd ../..
|
|
mkdir -p dist # prepare upload
|
|
cp clients/android/app/build/outputs/apk/other/release/*arm64-v8a.apk dist
|
|
cp clients/android/app/build/outputs/apk/otherLegacy/release/*arm64-v8a.apk 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:
|
|
- "./works/core/dist"
|