summaryrefslogtreecommitdiff
path: root/platform/node
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-04-03 15:16:49 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-04-07 18:01:02 -0700
commitf964e40e7e9220d08751d8607af61ac5a7c0794c (patch)
treed34ca5407188fe3d71396faa8a8acceb52d9bd4b /platform/node
parentf5d66f362272db034a311d2077dbdb2937c9bbdf (diff)
downloadqtlocation-mapboxgl-f964e40e7e9220d08751d8607af61ac5a7c0794c.tar.gz
[build] Refactor and simplify build system
* 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.
Diffstat (limited to 'platform/node')
-rw-r--r--platform/node/bitrise.yml21
-rwxr-xr-xplatform/node/scripts/after_script.sh50
-rwxr-xr-xplatform/node/scripts/install.sh24
-rwxr-xr-xplatform/node/scripts/run.sh15
4 files changed, 18 insertions, 92 deletions
diff --git a/platform/node/bitrise.yml b/platform/node/bitrise.yml
index 9b9b4ca064..0b09192ee3 100644
--- a/platform/node/bitrise.yml
+++ b/platform/node/bitrise.yml
@@ -22,25 +22,20 @@ workflows:
else
envman add --key SKIPCI --value false
fi
- - select-xcode-version:
- title: Select Xcode version
- run_if: '{{enveq "SKIPCI" "false"}}'
- script:
title: Run build script
run_if: '{{enveq "SKIPCI" "false"}}'
inputs:
- content: |-
#!/bin/bash
- export TRAVIS_OS_NAME=osx
- export TRAVIS_TAG=$BITRISE_GIT_TAG
- export TRAVIS_JOB_NUMBER=$BITRISE_BUILD_NUMBER
- export NODE_VERSION=4
- export CXX=clang++
- export CC=clang
- source ./scripts/set_compiler.sh
- ./platform/node/scripts/install.sh
- ./platform/node/scripts/run.sh
- ./platform/node/scripts/after_script.sh
+ set -eu -o pipefail
+ brew unlink node
+ brew install awscli homebrew/versions/node4-lts
+ brew link homebrew/versions/node4-lts
+ make node
+ make test-node || result=$?
+ ./platform/node/scripts/after_script.sh ${BITRISE_BUILD_NUMBER} ${BITRISE_GIT_TAG:-}
+ exit ${result:-0}
- slack:
title: Post to Slack
run_if: '{{enveq "SKIPCI" "false"}}'
diff --git a/platform/node/scripts/after_script.sh b/platform/node/scripts/after_script.sh
index ae8480e02a..905055ad11 100755
--- a/platform/node/scripts/after_script.sh
+++ b/platform/node/scripts/after_script.sh
@@ -3,50 +3,20 @@
set -e
set -o pipefail
-# Inspect binary.
-if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
- ldd ./lib/mapbox-gl-native.node
-else
- otool -L ./lib/mapbox-gl-native.node
-fi
+JOB=$1
+TAG=$2
-PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)")
+if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then
+ gzip --stdout node_modules/mapbox-gl-test-suite/render-tests/index.html | \
+ aws s3 cp --acl public-read --content-encoding gzip --content-type text/html \
+ - s3://mapbox/mapbox-gl-native/render-tests/$JOB/index.html
-if [[ ${TRAVIS_TAG} == node-v${PACKAGE_JSON_VERSION} ]]; then
- source ~/.nvm/nvm.sh
- nvm use $NODE_VERSION
+ echo http://mapbox.s3.amazonaws.com/mapbox-gl-native/render-tests/$JOB/index.html
+fi
- npm install aws-sdk
+PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)")
+if [[ $TAG == node-v${PACKAGE_JSON_VERSION} ]]; then
./node_modules/.bin/node-pre-gyp package
-
- if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
- ./node_modules/.bin/node-pre-gyp testpackage
- fi
-
./node_modules/.bin/node-pre-gyp publish info
-
- if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
- source ./platform/linux/scripts/setup.sh
-
- rm -rf build
- rm -rf lib
- npm install --fallback-to-build=false
- npm test
- fi
-fi
-
-if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then
- if [[ ${TRAVIS_OS_NAME} == "linux" ]] ; then
- pip install --user awscli
- export PATH="`python -m site --user-base`/bin:${PATH}"
- else
- brew install awscli
- fi
-
- gzip --stdout node_modules/mapbox-gl-test-suite/render-tests/index.html | \
- aws s3 cp --acl public-read --content-encoding gzip --content-type text/html \
- - s3://mapbox/mapbox-gl-native/render-tests/$TRAVIS_JOB_NUMBER/index.html
-
- echo http://mapbox.s3.amazonaws.com/mapbox-gl-native/render-tests/$TRAVIS_JOB_NUMBER/index.html
fi
diff --git a/platform/node/scripts/install.sh b/platform/node/scripts/install.sh
deleted file mode 100755
index b550933cd9..0000000000
--- a/platform/node/scripts/install.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-git submodule update --init .mason
-
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
-
-if [ ${TRAVIS_OS_NAME} == "linux" ]; then
- mason install mesa 10.4.3
-fi
-
-if [ ! -d ~/.nvm ]; then
- curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.28.0/install.sh | bash
-fi
-
-source ~/.nvm/nvm.sh
-
-nvm install $NODE_VERSION
-nvm alias default $NODE_VERSION
-
-node --version
-npm --version
diff --git a/platform/node/scripts/run.sh b/platform/node/scripts/run.sh
deleted file mode 100755
index 73578b110a..0000000000
--- a/platform/node/scripts/run.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-source ./platform/${TRAVIS_OS_NAME}/scripts/setup.sh
-
-BUILDTYPE=${BUILDTYPE:-Release}
-
-source ~/.nvm/nvm.sh
-nvm use $NODE_VERSION
-npm install --build-from-source
-
-npm test
-npm run test-suite