Files
MapLibreParticleLab/platform/android/bitrise.yml

122 lines
4.1 KiB
YAML

---
format_version: 1.0.0
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
trigger_map:
- 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: Install Linux Dependencies
inputs:
- content: |-
#!/bin/bash
apt-get install -y pkg-config
- script:
title: Build Android SDK For arm
inputs:
- content: |-
#!/bin/bash
make android -j4
- is_debug: 'yes'
- script:
title: Run Unit Tests
inputs:
- content: |-
#!/bin/bash
cd platform/android
./gradlew testReleaseUnitTest --continue
- is_debug: 'yes'
- 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 <https://github.com/mapbox/mapbox-gl-native/compare/${BITRISE_GIT_BRANCH}|mapbox/mapbox-gl-native@${BITRISE_GIT_BRANCH}>
by ${GIT_CLONE_COMMIT_COMMITER_NAME}
passed'
- message_on_error: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}>
for <https://github.com/mapbox/mapbox-gl-native/compare/${BITRISE_GIT_BRANCH}|mapbox/mapbox-gl-native@${BITRISE_GIT_BRANCH}>
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: Install Linux Dependencies
inputs:
- content: |-
#!/bin/bash
apt-get install -y pkg-config python-pip python-dev build-essential
pip install awscli
- script:
title: Fetch GPG Secring For SDK Signing
inputs:
- content: |-
#!/bin/bash
aws s3 cp s3://mapbox/android/signing-credentials/secring.gpg platform/android/MapboxGLAndroidSDK/secring.gpg
opts:
is_expand: true
- script:
title: Inject Signing And Publishing Credentials
inputs:
- content: |-
#!/bin/bash
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
opts:
is_expand: true
- script:
title: Build Mapbox Android SDK For All ABI
inputs:
- content: |-
#!/bin/bash
make apackage -j4
- script:
title: Publish To Maven Central
inputs:
- content: |-
#!/bin/bash
cd platform/android
./gradlew uploadArchives
- script:
title: Upload Downloadable APK To AWS S3
inputs:
- content: |-
#!/bin/bash
echo "Upload Downloadable APK To AWS S3"
aws s3 cp platform/android/MapboxGLAndroidSDKTestApp/build/outputs/apk/MapboxGLAndroidSDKTestApp-release-unsigned.apk s3://mapbox-android-sdk/