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