* Main gyp files are now standardized as platform/<platform>/platform.gyp. * Each platform gyp file defines appropriate loop_lib and headless_lib variables. * Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms. * CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`. * Renamed the "linux" test app to "glfw". It's now built in OS X CI. * Android build flakiness is fixed. * iOS CI builds the bench and iosapp targets. * Mesa version is now in one place. * CI scripts use bash "strict mode" and correct error handling. * All build output goes to the build directory. * Removed vestigial iOS/OS X/Android Travis scripts.
78 lines
2.9 KiB
YAML
78 lines
2.9 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: Build
|
|
run_if: '{{enveq "SKIPCI" "false"}}'
|
|
inputs:
|
|
- content: |-
|
|
#!/bin/bash
|
|
set -eu -o pipefail
|
|
apt-get install -y pkg-config
|
|
make android
|
|
make test-android
|
|
- 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: Build
|
|
inputs:
|
|
- content: |-
|
|
#!/bin/bash
|
|
set -eu -o pipefail
|
|
|
|
apt-get install -y pkg-config python-pip python-dev build-essential
|
|
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
|
|
|
|
make apackage -j4
|
|
|
|
cd platform/android
|
|
./gradlew uploadArchives
|