element-android/.buildkite/pipeline.yml

96 lines
3.3 KiB
YAML
Raw Normal View History

2019-04-30 14:58:00 +03:00
# 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
2019-09-18 12:24:29 +03:00
# We propagate the environment to the container (sse https://github.com/buildkite-plugins/docker-buildkite-plugin#propagate-environment-optional-boolean)
2019-04-30 14:58:00 +03:00
steps:
- label: "Compile and run Unit tests"
2019-10-24 16:52:40 +03:00
agents:
# We use a medium sized instance instead of the normal small ones because
2019-10-29 16:32:05 +03:00
# gradle build can be memory hungry
2019-10-24 16:52:40 +03:00
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
2019-10-29 16:32:05 +03:00
# 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:
2019-10-29 16:32:05 +03:00
# We use a xlarge sized instance instead of the normal small ones because
# gradle build can be memory hungry
2019-10-25 12:14:17 +03:00
queue: "xlarge"
commands:
2019-09-18 12:24:29 +03:00
- "./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"
2019-09-18 12:24:29 +03:00
propagate-environment: true
- label: "Assemble FDroid Debug version"
agents:
2019-10-29 16:32:05 +03:00
# We use a xlarge sized instance instead of the normal small ones because
# gradle build can be memory hungry
2019-10-25 12:14:17 +03:00
queue: "xlarge"
commands:
2019-09-18 12:24:29 +03:00
- "./gradlew clean lintFdroidRelease assembleFdroidDebug --stacktrace"
artifact_paths:
- "vector/build/outputs/apk/fdroid/debug/*.apk"
branches: "!master"
plugins:
2019-05-06 11:18:32 +03:00
- docker#v3.1.0:
2019-05-07 15:13:50 +03:00
image: "runmymind/docker-android-sdk"
2019-09-18 12:24:29 +03:00
propagate-environment: true
2019-04-30 14:58:00 +03:00
- label: "Build Google Play unsigned APK"
agents:
2019-10-29 16:32:05 +03:00
# We use a xlarge sized instance instead of the normal small ones because
# gradle build can be memory hungry
2019-10-25 12:14:17 +03:00
queue: "xlarge"
commands:
2019-09-18 12:24:29 +03:00
- "./gradlew clean assembleGplayRelease --stacktrace"
artifact_paths:
- "vector/build/outputs/apk/gplay/release/*.apk"
branches: "master"
plugins:
2019-05-06 11:18:32 +03:00
- docker#v3.1.0:
2019-07-11 17:00:45 +03:00
image: "runmymind/docker-android-sdk"
2019-09-18 12:24:29 +03:00
propagate-environment: true
# Code quality
2019-04-30 14:58:00 +03:00
- label: "Code quality"
2019-10-09 16:06:02 +03:00
command:
- "./tools/check/check_code_quality.sh"
2019-10-09 16:11:21 +03:00
- label: "ktlint"
command:
2019-10-09 16:06:02 +03:00
- "curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.2/ktlint && chmod a+x ktlint"
2019-10-09 17:38:23 +03:00
- "./ktlint --android --experimental -v"
2019-10-09 16:19:07 +03:00
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"