--- format_version: 1.0.0 default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git trigger_map: - pattern: devicefarmUpload workflow: devicefarmUpload - pattern: scheduled workflow: scheduled - pattern: "*" workflow: primary workflows: primary: steps: - script: title: Check for skipping CI inputs: - content: |- #!/bin/bash if [[ -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_SUBJECT | sed -n '/\[skip ci\]/p')" || -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_SUBJECT | sed -n '/\[ci skip\]/p')" || -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_BODY | sed -n 's/\[skip ci\]/p')" || -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_BODY | sed -n 's/\[ci skip\]/p')" ]]; then envman add --key SKIPCI --value true else envman add --key SKIPCI --value false fi - script: title: Build run_if: '{{enveq "SKIPCI" "false"}}' inputs: - content: |- #!/bin/bash set -eu -o pipefail curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y pkg-config nodejs cmake export BUILDTYPE=Release make android make android-test make android-generate-test wget -O platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/developer-config.xml "$BITRISEIO_TEST_ACCESS_TOKEN_UI_TEST_URL" make android-test-apk cd platform/android/MapboxGLAndroidSDKTestApp/build/outputs/apk wget -O secret.json "$BITRISEIO_GCLOUD_SERVICE_ACCOUNT_JSON_URL" export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo apt-get update && sudo apt-get install google-cloud-sdk gcloud auth activate-service-account --key-file secret.json --project android-gl-native gcloud beta test android devices list gcloud beta test android run --type instrumentation --app MapboxGLAndroidSDKTestApp-debug.apk --test MapboxGLAndroidSDKTestApp-debug-androidTest-unaligned.apk --device-ids shamu --os-version-ids 22 --locales en --orientations portrait --timeout 10m - slack: title: Post to Slack run_if: '{{enveq "SKIPCI" "false"}}' inputs: - webhook_url: "$SLACK_HOOK_URL" - channel: "#gl-bots" - from_username: 'Bitrise Android' - from_username_on_error: 'Bitrise Android' - message: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> for by ${GIT_CLONE_COMMIT_COMMITER_NAME} passed' - message_on_error: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> for by ${GIT_CLONE_COMMIT_COMMITER_NAME} failed' - icon_url: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-icon-128.png - icon_url_on_error: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-error-icon-128.png scheduled: steps: - script: title: Build inputs: - content: |- #!/bin/bash set -eu -o pipefail curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - apt-get install -y pkg-config python-pip python-dev build-essential nodejs cmake pip install awscli aws s3 cp s3://mapbox/android/signing-credentials/secring.gpg platform/android/MapboxGLAndroidSDK/secring.gpg echo "NEXUS_USERNAME=$PUBLISH_NEXUS_USERNAME NEXUS_PASSWORD=$PUBLISH_NEXUS_PASSWORD signing.keyId=$SIGNING_KEYID signing.password=$SIGNING_PASSWORD signing.secretKeyRingFile=secring.gpg" >> platform/android/MapboxGLAndroidSDK/gradle.properties export BUILDTYPE=Release make apackage cd platform/android ./gradlew uploadArchives devicefarmUpload: steps: - script: title: Build inputs: - content: |- #!/bin/bash set -eu -o pipefail curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y pkg-config nodejs cmake echo "AWS_ACCESS_KEY_ID_DEVICE_FARM=$AWS_ACCESS_KEY_ID_DEVICE_FARM AWS_SECRET_ACCESS_KEY_DEVICE_FARM=$AWS_SECRET_ACCESS_KEY_DEVICE_FARM" >> platform/android/MapboxGLAndroidSDK/gradle.properties export BUILDTYPE=Release make apackage make android-generate-test cd platform/android/ ./gradlew devicefarmUpload - slack: title: Post to Slack inputs: - webhook_url: "$SLACK_HOOK_URL" - channel: "#gl-bots" - from_username: 'Bitrise Android' - from_username_on_error: 'Bitrise Android' - message: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> for devicefarmUpload passed' - message_on_error: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> for devicefarmUpload failed' - icon_url: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-icon-128.png - icon_url_on_error: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-error-icon-128.png