summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-06-15 16:18:33 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-06-26 17:20:46 -0700
commit37e71666d863c7025b0be8db89b3237f70ee3882 (patch)
tree8974e02b36b61d2d2fa4289da2c45d563a55ad40
parentec05ee41d10b82751ed2cd6bab7f00a0d6778b9a (diff)
downloadqtlocation-mapboxgl-37e71666d863c7025b0be8db89b3237f70ee3882.tar.gz
[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).
-rw-r--r--circle.yml22
-rw-r--r--cmake/node.cmake4
-rw-r--r--package.json2
-rwxr-xr-xplatform/node/scripts/after_success.sh17
-rwxr-xr-xplatform/node/scripts/publish.sh22
5 files changed, 37 insertions, 30 deletions
diff --git a/circle.yml b/circle.yml
index ae7c070d6f..a3b81ed0c8 100644
--- a/circle.yml
+++ b/circle.yml
@@ -24,11 +24,11 @@ workflows:
only: /android-v.*/
branches:
ignore: /.*/
- - node6-clang39-release:
+ - node-clang39-release:
filters:
tags:
only: /node-.*/
- - node6-gcc6-debug:
+ - node-gcc6-debug:
filters:
tags:
only: /node-.*/
@@ -52,7 +52,7 @@ workflows:
ignore: /.*/
- macos-debug
- macos-debug-qt5
- - macos-release-node6:
+ - macos-release-node:
filters:
tags:
only: /node-.*/
@@ -111,7 +111,7 @@ step-library:
- &build-node
run:
name: Build node
- command: make node
+ command: make node-all
- &build-linux
run:
name: Build linux
@@ -158,9 +158,9 @@ step-library:
command: |
brew install cmake ccache
- - &install-macos-node6-dependencies
+ - &install-macos-node-dependencies
run:
- name: Install macOS Node@6 dependencies
+ name: Install macOS Node dependencies
command: |
brew install node@6
brew link node@6 --force --overwrite
@@ -207,7 +207,7 @@ step-library:
run:
name: Publish node package
when: on_success
- command: platform/node/scripts/after_success.sh
+ command: platform/node/scripts/publish.sh
- &upload-render-tests
@@ -516,7 +516,7 @@ jobs:
# ------------------------------------------------------------------------------
- node6-clang39-release:
+ node-clang39-release:
docker:
- image: mbgl/7d2403f42e:linux-clang-3.9
working_directory: /src
@@ -539,7 +539,7 @@ jobs:
- *upload-render-tests
# ------------------------------------------------------------------------------
- node6-gcc6-debug:
+ node-gcc6-debug:
docker:
- image: mbgl/7d2403f42e:linux-gcc-6
resource_class: large
@@ -956,7 +956,7 @@ jobs:
destination: test/fixtures
# ------------------------------------------------------------------------------
- macos-release-node6:
+ macos-release-node:
macos:
xcode: "9.4.0"
environment:
@@ -965,7 +965,7 @@ jobs:
steps:
- checkout
- *install-macos-dependencies
- - *install-macos-node6-dependencies
+ - *install-macos-node-dependencies
- *generate-cache-key
- *restore-cache
- *reset-ccache-stats
diff --git a/cmake/node.cmake b/cmake/node.cmake
index 5db1f46137..218b7548f6 100644
--- a/cmake/node.cmake
+++ b/cmake/node.cmake
@@ -23,7 +23,9 @@ add_node_module(mbgl-node
NAN_VERSION "2.10.0"
# Don't build for Node 4.x, 5.x, 7.x, or 9.x
- # See https://nodejs.org/en/download/releases/ for mapping of Node version to ABI number
+ # See https://nodejs.org/en/download/releases/ for mapping of Node version to ABI number.
+ # Changes to this property should happen in tandem with updates to the version targets
+ # in platform/node/scripts/publish.sh and the "node" engines property in package.json.
EXCLUDE_NODE_ABIS 46 47 51 59
)
diff --git a/package.json b/package.json
index 33744376d1..d2c0522a0f 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
"license": "BSD-2-Clause",
"dependencies": {
"@mapbox/cmake-node-module": "^1.1.0",
- "node-pre-gyp": "^0.6.37",
+ "node-pre-gyp": "^0.10.2",
"npm-run-all": "^4.0.2"
},
"devDependencies": {
diff --git a/platform/node/scripts/after_success.sh b/platform/node/scripts/after_success.sh
deleted file mode 100755
index a5c3c5ec36..0000000000
--- a/platform/node/scripts/after_success.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-set -e
-set -o pipefail
-
-PACKAGE_JSON_VERSION=`node -e "console.log(require('./package.json').version)"`
-
-if [[ "${CIRCLE_TAG}" == "node-v${PACKAGE_JSON_VERSION}" ]] || [[ "${PUBLISH:-}" == true ]]; then
- if [[ "${BUILDTYPE}" == "RelWithDebInfo" ]]; then
- ./node_modules/.bin/node-pre-gyp package publish info
- elif [[ "${BUILDTYPE}" == "Debug" ]]; then
- ./node_modules/.bin/node-pre-gyp package publish info --debug
- else
- echo "error: must provide either Debug or RelWithDebInfo for BUILDTYPE"
- exit 1
- fi
-fi
diff --git a/platform/node/scripts/publish.sh b/platform/node/scripts/publish.sh
new file mode 100755
index 0000000000..20cf5ae627
--- /dev/null
+++ b/platform/node/scripts/publish.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+set -o pipefail
+
+PACKAGE_JSON_VERSION=`node -e "console.log(require('./package.json').version)"`
+
+if [[ "${CIRCLE_TAG}" == "node-v${PACKAGE_JSON_VERSION}" ]] || [[ "${PUBLISH:-}" == true ]]; then
+ # Changes to the version targets here should happen in tandem with updates to the
+ # EXCLUDE_NODE_ABIS property in cmake/node.cmake and the "node" engines property in
+ # package.json.
+ for TARGET in 6.0.0 8.0.0 10.0.0; do
+ if [[ "${BUILDTYPE}" == "RelWithDebInfo" ]]; then
+ ./node_modules/.bin/node-pre-gyp package publish info --target="${TARGET}"
+ elif [[ "${BUILDTYPE}" == "Debug" ]]; then
+ ./node_modules/.bin/node-pre-gyp package publish info --target="${TARGET}" --debug
+ else
+ echo "error: must provide either Debug or RelWithDebInfo for BUILDTYPE"
+ exit 1
+ fi
+ done
+fi