summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-11-08 16:49:04 +0100
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-11-15 10:07:47 -0800
commitdf8c46705672905c975485ca00cf873898c0b063 (patch)
tree13f688ecad2a6a39ba84c2ceba41f33e28544218
parent36a04e49c834f52828dd26871641517c000c45f5 (diff)
downloadqtlocation-mapboxgl-df8c46705672905c975485ca00cf873898c0b063.tar.gz
[build] add binary size logging to iOS nightlies
-rw-r--r--platform/ios/bitrise.yml31
-rwxr-xr-xplatform/ios/scripts/metrics.sh20
2 files changed, 51 insertions, 0 deletions
diff --git a/platform/ios/bitrise.yml b/platform/ios/bitrise.yml
index d8a9a4fcd0..93d1d4afd8 100644
--- a/platform/ios/bitrise.yml
+++ b/platform/ios/bitrise.yml
@@ -2,6 +2,8 @@
format_version: 1.0.0
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
trigger_map:
+- pattern: nightly-release
+ workflow: nightly-release
- pattern: "*"
is_pull_request_allowed: true
workflow: primary
@@ -72,3 +74,32 @@ workflows:
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
+ nightly-release:
+ steps:
+ - script:
+ title: Install Dependencies
+ inputs:
+ - content: |-
+ #!/bin/bash
+ set -eu -o pipefail
+ brew install cmake
+ - is_debug: 'yes'
+ - script:
+ title: Configure AWS-CLI
+ inputs:
+ - content: |-
+ #!/bin/bash
+ apt-get install -y python-pip python-dev build-essential
+ pip install awscli
+ - script:
+ title: Build package
+ inputs:
+ - content: |-
+ #!/bin/bash
+ set -eu -o pipefail
+ export BUILDTYPE=Release
+ export BUILD_DEVICE=true
+ export FORMAT=dynamic
+ make ipackage-strip
+ CLOUDWATCH=true platform/ios/scripts/metrics.sh
+ - is_debug: 'yes'
diff --git a/platform/ios/scripts/metrics.sh b/platform/ios/scripts/metrics.sh
new file mode 100755
index 0000000000..c45beb3a11
--- /dev/null
+++ b/platform/ios/scripts/metrics.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+# Generate stripped versions for every architecture
+xcrun bitcode_strip build/ios/pkg/dynamic/Mapbox.framework/Mapbox -r -o build/ios/pkg/dynamic/Mapbox-stripped
+lipo build/ios/pkg/dynamic/Mapbox-stripped -extract armv7 -output build/ios/pkg/dynamic/Mapbox-stripped-armv7
+lipo build/ios/pkg/dynamic/Mapbox-stripped -extract arm64 -output build/ios/pkg/dynamic/Mapbox-stripped-arm64
+lipo build/ios/pkg/dynamic/Mapbox-stripped -extract i386 -output build/ios/pkg/dynamic/Mapbox-stripped-i386
+lipo build/ios/pkg/dynamic/Mapbox-stripped -extract x86_64 -output build/ios/pkg/dynamic/Mapbox-stripped-x86_64
+
+# Track individual architectures
+scripts/log_binary_size.sh "build/ios/pkg/dynamic/Mapbox-stripped-armv7" "Platform=iOS,Arch=armv7"
+scripts/log_binary_size.sh "build/ios/pkg/dynamic/Mapbox-stripped-arm64" "Platform=iOS,Arch=arm64"
+scripts/log_binary_size.sh "build/ios/pkg/dynamic/Mapbox-stripped-i386" "Platform=iOS,Arch=i386"
+scripts/log_binary_size.sh "build/ios/pkg/dynamic/Mapbox-stripped-x86_64" "Platform=iOS,Arch=x86_64"
+
+# Track overall library size
+scripts/log_binary_size.sh "build/ios/pkg/dynamic/Mapbox-stripped" "Platform=iOS,Arch=Dynamic"