mirror of
https://github.com/element-hq/element-android
synced 2024-11-25 02:45:37 +03:00
95 lines
3.3 KiB
YAML
95 lines
3.3 KiB
YAML
# Use Docker file from https://hub.docker.com/r/runmymind/docker-android-sdk
|
|
# Last docker plugin version can be found here:
|
|
# https://github.com/buildkite-plugins/docker-buildkite-plugin/releases
|
|
# We propagate the environment to the container (sse https://github.com/buildkite-plugins/docker-buildkite-plugin#propagate-environment-optional-boolean)
|
|
|
|
steps:
|
|
- label: "Compile and run Unit tests"
|
|
agents:
|
|
# We use a medium sized instance instead of the normal small ones because
|
|
# gradle build can be memory hungry
|
|
queue: "medium"
|
|
commands:
|
|
- "./gradlew clean test --stacktrace"
|
|
plugins:
|
|
- docker#v3.1.0:
|
|
image: "runmymind/docker-android-sdk"
|
|
propagate-environment: true
|
|
|
|
- label: "Compile Android tests"
|
|
agents:
|
|
# We use a medium sized instance instead of the normal small ones because
|
|
# gradle build can be memory hungry
|
|
queue: "medium"
|
|
commands:
|
|
- "./gradlew clean assembleAndroidTest --stacktrace"
|
|
plugins:
|
|
- docker#v3.1.0:
|
|
image: "runmymind/docker-android-sdk"
|
|
propagate-environment: true
|
|
|
|
- label: "Assemble GPlay Debug version"
|
|
agents:
|
|
# We use a xlarge sized instance instead of the normal small ones because
|
|
# gradle build can be memory hungry
|
|
queue: "xlarge"
|
|
commands:
|
|
- "./gradlew clean lintGplayRelease assembleGplayDebug --stacktrace"
|
|
artifact_paths:
|
|
- "vector/build/outputs/apk/gplay/debug/*.apk"
|
|
branches: "!master"
|
|
plugins:
|
|
- docker#v3.1.0:
|
|
image: "runmymind/docker-android-sdk"
|
|
propagate-environment: true
|
|
|
|
- label: "Assemble FDroid Debug version"
|
|
agents:
|
|
# We use a xlarge sized instance instead of the normal small ones because
|
|
# gradle build can be memory hungry
|
|
queue: "xlarge"
|
|
commands:
|
|
- "./gradlew clean lintFdroidRelease assembleFdroidDebug --stacktrace"
|
|
artifact_paths:
|
|
- "vector/build/outputs/apk/fdroid/debug/*.apk"
|
|
branches: "!master"
|
|
plugins:
|
|
- docker#v3.1.0:
|
|
image: "runmymind/docker-android-sdk"
|
|
propagate-environment: true
|
|
|
|
- label: "Build Google Play unsigned APK"
|
|
agents:
|
|
# We use a xlarge sized instance instead of the normal small ones because
|
|
# gradle build can be memory hungry
|
|
queue: "xlarge"
|
|
commands:
|
|
- "./gradlew clean assembleGplayRelease --stacktrace"
|
|
artifact_paths:
|
|
- "vector/build/outputs/apk/gplay/release/*.apk"
|
|
branches: "master"
|
|
plugins:
|
|
- docker#v3.1.0:
|
|
image: "runmymind/docker-android-sdk"
|
|
propagate-environment: true
|
|
|
|
# Code quality
|
|
|
|
- label: "Code quality"
|
|
command:
|
|
- "./tools/check/check_code_quality.sh"
|
|
|
|
- label: "ktlint"
|
|
command:
|
|
- "curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.2/ktlint && chmod a+x ktlint"
|
|
- "./ktlint --android --experimental -v"
|
|
plugins:
|
|
- docker#v3.1.0:
|
|
image: "openjdk"
|
|
|
|
# Check that indonesians files are identical.
|
|
# Due to Android issue, the resource folder must be values-in/, and Weblate export data into values-id/.
|
|
# If this step fails, it means that Weblate has updated the file in value-id/ so to fix it, copy the file to values-in/
|
|
- label: "Indonesian"
|
|
command:
|
|
- "diff ./vector/src/main/res/values-id/strings.xml ./vector/src/main/res/values-in/strings.xml"
|