summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2017-10-19 18:42:20 -0400
committerJason Wray <jason@mapbox.com>2017-10-25 12:48:25 -0400
commit8bc7e4957d85816f3e013e6e07a91a48929080f3 (patch)
tree1dbc7fcaa83a4202413a4c712212f1ccaeb503bd
parentba8342a12e332a9caf2a21bb022bbc9f2b2214b3 (diff)
downloadqtlocation-mapboxgl-8bc7e4957d85816f3e013e6e07a91a48929080f3.tar.gz
[ios, build] Add CircleCI iOS builds
-rw-r--r--Makefile8
-rw-r--r--circle.yml79
2 files changed, 86 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 7bcb281985..87bd899400 100644
--- a/Makefile
+++ b/Makefile
@@ -222,6 +222,14 @@ iproj: $(IOS_PROJ_PATH)
ios-test: $(IOS_PROJ_PATH)
set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' test $(XCPRETTY)
+.PHONY: ios-sanitize-address
+ios-sanitize-address: $(IOS_PROJ_PATH)
+ set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' -enableAddressSanitizer YES test $(XCPRETTY)
+
+.PHONY: ios-sanitize-thread
+ios-sanitize-thread: $(IOS_PROJ_PATH)
+ set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' -enableThreadSanitizer YES test $(XCPRETTY)
+
.PHONY: ipackage
ipackage: $(IOS_PROJ_PATH)
FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) \
diff --git a/circle.yml b/circle.yml
index 39b00e8ed0..785ffd10d8 100644
--- a/circle.yml
+++ b/circle.yml
@@ -30,6 +30,9 @@ workflows:
- linux-gcc5-debug-coverage
- linux-gcc5-release-qt4
- linux-gcc5-release-qt5
+ - ios-debug
+ #- ios-sanitize-address
+ - ios-sanitize-thread
step-library:
- &generate-cache-key
@@ -47,7 +50,7 @@ step-library:
- &save-cache
save_cache:
key: 'v3/{{ .Environment.CIRCLE_JOB }}/{{ arch }}/{{ .Branch }}/{{ checksum ".circle-week" }}'
- paths: [ "node_modules", "/root/.ccache", "mason_packages/.binaries" ]
+ paths: [ "node_modules", "/root/.ccache", "~/.ccache", "mason_packages/.binaries" ]
- &reset-ccache-stats
@@ -97,6 +100,24 @@ step-library:
run:
name: Build qt-test
command: make qt-test
+ - &build-ios-test
+ run:
+ name: Build ios-test
+ command: make ios-test
+
+
+ - &check-public-symbols
+ run:
+ name: Check public symbols
+ command: make check-public-symbols
+
+
+ - &install-ios-dependencies
+ run:
+ name: Install dependencies
+ command: |
+ brew install cmake
+ brew install ccache
- &run-node-tests
@@ -589,3 +610,59 @@ jobs:
command: |
xvfb-run --server-args="-screen 0 1024x768x24" \
scripts/valgrind.sh build/qt-linux-x86_64/Release/mbgl-test --gtest_filter=-*.Load --gtest_filter=-Memory.Vector
+
+# ------------------------------------------------------------------------------
+ ios-debug:
+ macos:
+ xcode: "9.0"
+ environment:
+ BUILDTYPE: Debug
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ steps:
+ - checkout
+ - *install-ios-dependencies
+ - *generate-cache-key
+ - *restore-cache
+ - *reset-ccache-stats
+ - *build-ios-test
+ - *check-public-symbols
+ - *show-ccache-stats
+ - *save-cache
+
+# ------------------------------------------------------------------------------
+ ios-sanitize-address:
+ macos:
+ xcode: "9.0"
+ environment:
+ BUILDTYPE: Debug
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ steps:
+ - checkout
+ - *install-ios-dependencies
+ - *generate-cache-key
+ - *restore-cache
+ - *reset-ccache-stats
+ - run:
+ name: Build and run SDK unit tests with address sanitizer
+ command: make ios-sanitize-address
+ - *show-ccache-stats
+ - *save-cache
+
+# ------------------------------------------------------------------------------
+ ios-sanitize-thread:
+ macos:
+ xcode: "9.0"
+ environment:
+ BUILDTYPE: Debug
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ steps:
+ - checkout
+ - *install-ios-dependencies
+ - *generate-cache-key
+ - *restore-cache
+ - *reset-ccache-stats
+ - run:
+ name: Build and run SDK unit tests with thread sanitizer
+ command: make ios-sanitize-thread
+ - *show-ccache-stats
+ - *save-cache