Commit Graph

118 Commits

Author SHA1 Message Date
Konstantin Käfer
1d8235f5b8 [build] rework platform/default directory and add -files.txt for vendored libs 2018-12-14 11:03:03 +01:00
Konstantin Käfer
a0b8f01c1b [build] use newer compiler versions for some builds 2018-11-28 14:49:44 +01:00
Konstantin Käfer
34e4ae8d41 [build] use updated docker images 2018-11-14 12:30:32 +01:00
Thiago Marcos P. Santos
cd92a231b3 [qt] Deprecate Qt4 and old versions of Qt5
Not enough adoption to keep the platform alive.
2018-11-13 22:55:26 +02:00
Jason Wray
c88312b5d6 [build] Temporarily reduce number of jobs for failing CI builds
This should be reverted once higher-resource CI containers are available again.
2018-11-09 12:26:47 -05:00
Jason Wray
ae4915de29 [build] Update to Xcode 10.1 on CircleCI 2018-11-08 19:22:34 -05:00
Jordan Kiley
7cbd31e456 Switch code coverage system to CodeCov (#13297) 2018-11-08 10:56:44 -08:00
Jason Wray
947af3059c [ios, build] Stop running Integration Tests target on CircleCI
These are evidently too inconsistent to run on CircleCI under Xcode 10.
2018-11-02 17:49:33 -04:00
Jason Wray
1c140438cb [build] Update CircleCI jobs to Xcode 10.0 2018-11-02 17:49:33 -04:00
Thiago Marcos P. Santos
69960afb8d [build] Add build system for submodules
Vendorize the submodules and a simple CMake build
system for all them. The dependencies will inherit
compilation options for core.

The goal is to make Mapbox GL Core completely self
contained with a simple offline build.
2018-10-31 18:19:28 +02:00
Jason Wray
885b3d33d9 [build] Show ccache stats on CircleCI again 2018-10-26 15:37:08 -04:00
Tobrun
d7d48c3ebc [android] - remove shell command when activating google cloud service account 2018-10-24 10:52:19 +02:00
Chris Loer
fc11d2e872 [core, test] Add BiDi unit test
- Port of arabic.test.js from mapbox-gl-rtl-text
- Modify BiDi::getLine to remove trailing nulls in the event UBIDI_REMOVE_BIDI_CONTROLS causes the string to shorten.
- Patch vendored ICU to avoid undefined undefined bit shifting behavior (triggered sanitizer failure)
2018-10-15 13:15:46 -07:00
Jason Wray
360a36771b [ios, build] Check symbol namespacing for mapbox-events-ios 2018-10-03 13:26:59 -04:00
Jason Wray
1fe29b284f [darwin] Rename 'make check-public-symbols' to darwin-check-public-symbols 2018-10-03 13:26:59 -04:00
Konstantin Käfer
e4de9e79a2 [build] upgrade CircleCI configuration to use inline commands 2018-10-02 16:11:58 +02:00
Jason Wray
e6111a888e [ios, build] Build releases with Xcode 10.0 2018-09-26 07:56:59 -07:00
Jason Wray
125c628981 [android, build] Add firebase skipping to android-gnustl-arm-v7 2018-09-25 10:30:17 -07:00
Jason Wray
82a9295efa [build, ios] Add canary Xcode 10 CircleCI job 2018-09-20 13:42:57 -07:00
Jason Wray
153e97c8e7 [ios, build] Remove broken link from deploy Slack notification 2018-09-17 13:12:14 -07:00
Jason Wray
12809db596 [ios, build] Bump timeout for ios-release to 5m 2018-09-17 12:32:23 -07:00
Jason Wray
f3efa628c0 [build] Reduce CircleCI timeouts for iOS/macOS builds
These jobs have constant output and don't need the default 10 minute timeout, so failing sooner (in the event of an npm outage/bug, for example) is advantangeous for us.
2018-09-17 10:48:56 -07:00
Anand Thakker
bc9b224916 [build] add android-gnustl-arm-v7 CI job 2018-09-11 11:43:54 +02:00
Konstantin Käfer
e51eb0fc23 [build] use vendored version of ICU 2018-09-05 12:26:15 +02:00
Jason Wray
3f021970ea [build] Skip Android device tests via commit message
- Add `[skip firebase]` anywhere in your commit message to avoid running Firebase tests for that commit.
- Also skips if the latest commit message only includes `[ios]`, `[macos]`, `[ios, macos]`, or `[darwin]`.
- Only skips if included in the most recent commit message.
2018-09-04 11:41:33 -04:00
Jason Wray
330ec0bb61 [build] Fix ios-release-tag slack notification 2018-08-29 15:18:40 -04:00
Jason Wray
4061e9026e [build] Add Slack notifications for important iOS builds
- Notifies #apple when nightly builds fail.
- Notifies #apple when release deployment jobs start/finish.
2018-08-28 14:53:56 -04:00
Jason Wray
7395a259a5 [build] Run lower-value iOS CircleCI builds as nightlies
These jobs have a low incidence of unique meaningful failures and are mostly just informational, so running them less often preserves most of their value and frees up relatively scarce CircleCI macOS concurrency.
2018-08-22 11:15:40 -04:00
tobrun
b1ab362c11 [android] - store release so files with debugging information 2018-08-15 07:39:33 +02:00
John Firebaugh
b500577bfa [android, linux] Upgrade to SQLite 3.24.0, compiled to minimize binary size 2018-08-10 08:49:18 -07:00
Jason Wray
f7dcfced34 [ios, build] Bump CircleCI to Xcode 9.4.1 2018-07-31 18:48:55 -04:00
tobrun
d61ad7b642 [android] - unbound variable with external PR 2018-07-27 11:30:48 +02:00
tobrun
b8b0134d65 [android] - validate if circle-ci var is unset 2018-07-26 11:58:30 +02:00
tobrun
3821f74079 [android] - fix circle ci configuration for building forked PRs 2018-07-23 19:18:54 +02:00
Konstantin Käfer
6d7072162b [build] add nitpick step for verifying that dependencies are up-to-date and unmodified 2018-07-20 10:58:50 -04:00
John Firebaugh
5623fa1b22 [build] Reduce ccache max size 2018-07-13 11:50:39 -07:00
John Firebaugh
74ef93ab4f [build] Improve ccache freshness
Save a fresh ccache on every build by including (a checksum of) the current revision in the cache key. In the worst case, saving the cache appears to take ~1:30 for android-release; other builds appear to take a small amount of time compared to the time saved by having a fresh cache, versus a cache that's up to a week old.

Restore caches in the following priority order (all scoped to current architecture and job):

1. The cache for the current branch and revision.

2. If that doesn't exist, the most recent cache for the current branch.

3. If that doesn't exist, the cache for the parent branch and merge base, where "parent branch" means the base branch of the pull request specified by $CIRCLE_PULL_REQUEST (obtained from the GitHub API), and "merge base" means the revision returned by `git merge-base` when given the parent branch and $CIRCLE_BRANCH (obtained by executing that shell command). The intent here is to start a newly created branch off with the most relevant cache from its parent branch.

4. If that doesn't exist, the most recent cache for the parent branch.

5. If that doesn't exist, the most recent cache for master.

6. If that doesn't exist, use the most recent cache for any build.

We cannot use the branch names or revisions themselves as key segments, because CircleCI lacks a way to interpolate arbitrary environment variables into the cache key name. Instead, we write the desired value into a file and use the `{{ checksum "filename" }}` syntax.
2018-07-13 11:50:39 -07:00
John Firebaugh
3896a65c8e [build] Separate node_modules, mason_packages, and cmake caches 2018-07-13 11:50:39 -07:00
Jason Wray
bf69f1a2d3 [ios] Adjust iOS nightly build to run later
CircleCI’s cron jobs run on UTC, while their containers are set to US-Pacific. This change pushes back the `nightly` workflow from 12AM UTC (5PM PDT) to 5AM UTC (10PM PDT).

/cc @julianrex @fabian-guerra
2018-07-11 15:40:13 -04:00
Jason Wray
124faee638 [ios, build] Upload nightly iOS release build on CircleCI 2018-07-10 13:20:08 -04:00
Jason Wray
f3718ff293 [qt, build] Rename Qt builds to follow convention
CI job naming convention is: <platform>-<optional-descriptor>-<buildtype>
2018-07-09 15:22:59 -04:00
Jason Wray
ba4b8464dd [node, build] Rename Node builds to follow convention
CI job naming convention is: <platform>-<optional-descriptor>-<buildtype>
2018-07-09 15:22:59 -04:00
John Firebaugh
d4ca3014eb [android] Consolidate release builds 2018-07-05 08:48:18 -07:00
John Firebaugh
840a5cf120 [build] Record binary size via GitHub check 2018-07-03 14:03:32 -07:00
Jason Wray
6fc0eb908b [ios, build] Postpone jazzy install for ios-release build 2018-07-03 15:47:49 -04:00
Jason Wray
18766c5517 [ios, build] Build all archs for ios-release 2018-07-03 13:31:58 -04:00
Jason Wray
5cc71a3a9b [ios] Add per-commit ios-release CircleCI build
Renames the previous tag-based package-deploy job from `ios-release` to `ios-release-tag`.
2018-07-02 14:01:44 -04:00
John Firebaugh
37e71666d8 [node] Build and publish for node 6.x, 8.x, and 10.x
Note that we're still only testing the 6.x ABI (48).
2018-06-26 17:20:46 -07:00
John Firebaugh
ec05ee41d1 [node] Drop node 4.x support 2018-06-26 17:20:46 -07:00
Jason Wray
4edf6d6931 [ios, build] Bump CircleCI to Xcode 9.4
Keep macos-debug-qt5 on Xcode 9.3 for now.
2018-06-08 21:12:21 -07:00