Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update with upstream mapbox/node-sqlcipher3 #47

Merged
merged 76 commits into from
Sep 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
3b30762
prebuilt: add electon 4.1 & 4.2 (#1180)
kewde Jul 8, 2019
ae93b50
tools: Crossbuild for ARMv7 (#1169)
rzr Jul 8, 2019
bad9339
Allow custom magic to be specified through --sqlite_magic (#1144)
danielgindi Aug 3, 2019
e6c71d3
prebuilt: add electron 6.0.0 (#1195)
pdesantis Aug 16, 2019
4f61a03
4.1.0 [publish binary]
mapsam Aug 16, 2019
19677e7
prebuilt: add electron 6.1 & 7 (Windows)
kewde Oct 28, 2019
b2a7d61
sqlite3: update to 3.30.1 (#1238)
kewde Oct 29, 2019
d8a96fa
overwrite 'msbuild_toolset' only if 'toolset' is defined (#1242)
joaocgreis Nov 11, 2019
375d827
prebuilt: add electron 6.1 & 7 (#1237)
kewde Nov 14, 2019
460931b
prebuilts: add node v13 (#1247)
kewde Nov 15, 2019
d3e6d9e
deps: alternative update of node-gyp for electron (v5 & v6), windows …
kewde Nov 21, 2019
1c61598
Use minimum supported node version for Electron 7 (#1255)
EmilioCristalli Nov 22, 2019
50a5b5b
prebuilt: electron 7.1 (#1254)
kewde Nov 23, 2019
1afb915
4.1.0 [publish binary]
kewde Dec 4, 2019
f12d3b0
electron: fix dist url (#1282)
mtgto Feb 19, 2020
80254a8
deps: alternative update of node-gyp for electron (v1 - v4), windows …
mtgto Feb 28, 2020
65da4a8
sqlite3 update to 3.31.1 (3310100) (#1289)
anlexN Mar 3, 2020
dc30669
prebuilt: electron 8 (#1294)
ilias-t Mar 4, 2020
a704bd7
deps: remove request (#1287)
kewde Mar 4, 2020
fdceaef
webpack: split sqlite3-binding.js out so that it could be override by…
lygstate Mar 13, 2020
de8888e
Convert NAN to N-API using tool
mohd-akram Sep 30, 2019
fc09ced
Fix macros and binding.gyp
mohd-akram Sep 30, 2019
dd3ef52
Fix compilation
jschlight Jul 8, 2019
421b8ab
Disable N-API C++ exceptions
mohd-akram Sep 30, 2019
4177fb7
Fix tests failing
mohd-akram Sep 30, 2019
3806e0c
Use N-API for async work
mohd-akram Sep 30, 2019
bbec1fa
Add assert.h
mohd-akram Sep 30, 2019
70766c7
Improve usage of libuv
mohd-akram Oct 1, 2019
ae9a005
Support worker threads
mohd-akram Oct 1, 2019
d0142a7
Fix build on Windows
mohd-akram Feb 24, 2020
3aa2e88
fix travis config
Apr 11, 2020
99d7126
Remove unsupported Node.js versions from CI
mohd-akram Apr 16, 2020
6d40993
Add missing return
mohd-akram Apr 16, 2020
bf4770a
Change causes test fail on Node.js 12, macOS
jschlight Apr 16, 2020
8c8083c
Fix references
mohd-akram Apr 16, 2020
5fc6fed
Add define for NAPI_VERSION=3 to binding.gyp
jschlight Apr 17, 2020
b0332e7
Update package.json for N-API builds
jschlight Apr 17, 2020
7b85fb3
Remove unsupported Electron versions
jschlight Apr 18, 2020
af31fb8
Fix warnings
mohd-akram Apr 18, 2020
fc48aed
docs: Added json1 support note (#1303)
everyplace Apr 19, 2020
75fee8a
prebuilt: add electron 8.1 & 8.2 (#1308)
kewde Apr 19, 2020
6b5e3fe
Merge branch 'master' into napi
kewde Apr 19, 2020
cf2b3ce
ci: fix .travis.yml formatting
kewde Apr 19, 2020
e3d9006
ci: fix travis & add latest electron builds
kewde Apr 19, 2020
ad56e17
ci: reduce matrix of prebuilts (to Node >= v10 & electron >= v6) (linux)
kewde Apr 19, 2020
80edf6f
ci: reduce matrix of prebuilts (to Node >= v10 & electron >= v6) (win…
kewde Apr 19, 2020
187adc0
Merge branch 'master' into napi
kewde Apr 19, 2020
73b7333
sqlite3: enable 'SQLITE_ENABLE_DBSTAT_VTAB=1' (#1281)
kewde Apr 19, 2020
926fb95
release: 4.2.0 (#1309)
kewde Apr 20, 2020
766ee8f
Add N-API v3 badge
jschlight Apr 20, 2020
5b38ca4
Update Travis electron node versions
mohd-akram Apr 20, 2020
78dd0d9
Update README with supported versions
mohd-akram Apr 20, 2020
18c37ae
Simplify binding.gyp
mohd-akram Apr 20, 2020
afa2207
release: 4.2.0 [publish binary]
kewde Apr 21, 2020
0ffea2d
Merge branch 'master' into napi
kewde Apr 27, 2020
cc4b598
prebuilt: add Node 14.x
kewde Apr 27, 2020
1752f42
bug: yarn 2 pnp issues (#1313)
regevbr Apr 27, 2020
34d6283
Merge branch 'mohd-akram-napi'
kewde Apr 27, 2020
5c3c682
release: bump version to 5.0.0
kewde Apr 27, 2020
024bd4f
trace: don't require throw to add trace info for verbose (#1317)
mmghv Apr 28, 2020
dbb3739
release: update changelog 5.0.0
kewde Apr 28, 2020
1690479
ci: remove permission setting (#1319)
kewde May 4, 2020
c1c3c75
prebuilt: add electron 7.2 (#1324)
mtgto May 10, 2020
c196b05
release: 5.0.0 [publish binary]
kewde May 14, 2020
034c05f
prebuilt: re-enable Node 10 [publish binary]
kewde Jun 2, 2020
b3793f2
sqlite3: upgrade to 3.32.3 (#1351)
kewde Jul 2, 2020
be71925
build: Install files to be deployed (#1352)
rzr Jul 2, 2020
29debf3
bug: bad comparison of c string (#1347)
mtgto Jul 2, 2020
6e250c6
Update mention of bundled SQLite version to 3.32.2
ErisDS Jul 9, 2020
c9caae4
Fix worker threads crash (#1367)
mohd-akram Sep 6, 2020
e87dfa4
Fix segfaults (#1368)
mohd-akram Sep 6, 2020
6967909
fix: broken link to MapBox site (#1369)
profnandaa Sep 6, 2020
833f5cc
release: 5.0.1 (#1366) [publish binary]
kewde Sep 9, 2020
f2a6b6c
Merge remote-tracking branch 'vendor/master' into merge-upstream
rkistner Sep 23, 2020
0cd9f2e
Fix CI config.
rkistner Sep 23, 2020
8215e1f
Only publish on selected builds.
rkistner Sep 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 110 additions & 68 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@ aliases:
- &publish-command
name: Publish
command: |
GYP_ARGS=""
if [[ "${ELECTRON_VERSION}" ]]; then
GYP_ARGS="--runtime=electron --target=${ELECTRON_VERSION} --dist-url=https://electronjs.org/headers"
fi
COMMIT_MESSAGE=`git log --format=%s -n 1 $CIRCLE_SHA1`
./node_modules/.bin/node-pre-gyp rebuild package testpackage $PRE_GYP_ARGS
if [[ ${COMMIT_MESSAGE} =~ "[publish binary]" ]]; then
./node_modules/.bin/node-pre-gyp package testpackage $PRE_GYP_ARGS
./node_modules/.bin/node-pre-gyp publish $PRE_GYP_ARGS
./node_modules/.bin/node-pre-gyp rebuild package testpackage $GYP_ARGS
if [[ ${COMMIT_MESSAGE} =~ "[publish binary]" ]] && [[ "$PUBLISH" == "true" ]]; then
./node_modules/.bin/node-pre-gyp package testpackage $GYP_ARGS
./node_modules/.bin/node-pre-gyp publish $GYP_ARGS
else
echo "Not a tagged build - not publishing"
fi
Expand All @@ -28,7 +32,7 @@ aliases:
- &common-electron-linux
resource_class: large
docker:
- image: circleci/node:10.16.0
- image: circleci/node:12.18.4

working_directory: ~/repo

Expand All @@ -40,7 +44,7 @@ aliases:
# These are required for electron(-mocha)
- run: sudo apt-get install -y libgtk2.0-0 libgtk-3-dev libxtst6 libxss1 libgconf2-4 libnss3 libasound2
- run: npm install --build-from-source
- run: ./node_modules/.bin/electron-rebuild
- run: ./node_modules/.bin/electron-rebuild --version=$ELECTRON_VERSION --dist-url=https://electronjs.org/headers
- run: npm run pretest
- run: xvfb-run ./node_modules/.bin/electron-mocha --timeout 480000
- run: *publish-command
Expand Down Expand Up @@ -77,13 +81,55 @@ aliases:
npm install --build-from-source

- run: npm run test
- run: ./node_modules/.bin/electron-rebuild
- run:
<<: *publish-command

- &common-electron-macos
resource_class: large
macos:
xcode: "10.2.1"
steps:
- checkout
- run: |
export HOMEBREW_NO_AUTO_UPDATE=1
brew install git-lfs [email protected] || true
- run: git lfs install
- run: git lfs pull
- run:
name: Install Node
command: |
source ~/.bash_profile

# Install the correct Node version
curl --silent -o node.tar.xz https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-darwin-x64.tar.xz
tar xf node.tar.xz
echo 'export NODE_PATH=$HOME/node' >> $BASH_ENV
echo 'export PATH=$NODE_PATH/bin:$PATH' >> $BASH_ENV
source $BASH_ENV
mv node-v$NODE_VERSION-darwin-x64 $NODE_PATH
node -v

- run:
name: Install & Build
command: |
node -v
npm install --build-from-source

- run: ./node_modules/.bin/electron-rebuild --version=$ELECTRON_VERSION --dist-url=https://electronjs.org/headers
- run: npm run pretest
- run: ./node_modules/.bin/electron-mocha --timeout 480000
- run:
<<: *publish-command

version: 2
jobs:
build-14.11.0:
<<: *common-build
environment:
PUBLISH: true
docker:
- image: circleci/node:14.11.0

build-12.6.0:
<<: *common-build
docker:
Expand All @@ -94,46 +140,48 @@ jobs:
docker:
- image: circleci/node:10.16.0

build-8.16.0:
<<: *common-build
docker:
- image: circleci/node:8.16.0

build-electron-8.1.1:
<<: *common-electron-linux
environment:
PRE_GYP_ARGS: --runtime=electron --target=8.1.1 --disturl=https://atom.io/download/electron

build-electron-7.1.14:
# Node version should match electron's node version.
# See https://github.com/mapbox/node-sqlite3/pull/1367
build-electron-10.1.2:
<<: *common-electron-linux
docker:
- image: circleci/node:12.16.3
environment:
PRE_GYP_ARGS: --runtime=electron --target=7.1.14 --disturl=https://atom.io/download/electron
ELECTRON_VERSION: "10.1.2"

build-electron-6.1.9:
build-electron-9.3.1:
<<: *common-electron-linux
docker:
- image: circleci/node:12.14.1
environment:
PRE_GYP_ARGS: --runtime=electron --target=6.1.9 --disturl=https://atom.io/download/electron

ELECTRON_VERSION: "9.3.1"

build-electron-5.0.6:
build-electron-8.5.2:
<<: *common-electron-linux
docker:
- image: circleci/node:12.13.0
environment:
PRE_GYP_ARGS: --runtime=electron --target=5.0.6 --disturl=https://atom.io/download/electron
ELECTRON_VERSION: "8.5.2"

build-electron-4.2.6:
build-electron-7.1.14:
<<: *common-electron-linux
docker:
- image: circleci/node:12.8.1
environment:
PRE_GYP_ARGS: --runtime=electron --target=4.2.6 --disturl=https://atom.io/download/electron
ELECTRON_VERSION: "7.1.14"

build-electron-3.1.11:
build-electron-6.1.9:
<<: *common-electron-linux
docker:
- image: circleci/node:12.6.0 # Issues with 12.4.0
environment:
PRE_GYP_ARGS: --runtime=electron --target=3.1.11 --disturl=https://atom.io/download/electron
ELECTRON_VERSION: "6.1.9"

build-electron-2.0.18:
<<: *common-electron-linux
build-macos-14.11.0:
<<: *common-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=2.0.18 --disturl=https://atom.io/download/electron
PUBLISH: true
NODE_VERSION: "14.11.0"

build-macos-12.6.0:
<<: *common-macos
Expand All @@ -145,62 +193,56 @@ jobs:
environment:
NODE_VERSION: "10.16.0"

build-macos-electron-8.1.1:
<<: *common-macos
# NODE_VERSION should match electron's node version.
# See https://github.com/mapbox/node-sqlite3/pull/1367
build-macos-electron-10.1.2:
<<: *common-electron-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=8.1.1 --disturl=https://atom.io/download/electron
NODE_VERSION: "10.16.0"
ELECTRON_VERSION: "10.1.2"
NODE_VERSION: "12.16.3"

build-macos-electron-7.1.14:
<<: *common-macos
build-macos-electron-9.3.1:
<<: *common-electron-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=7.1.14 --disturl=https://atom.io/download/electron
NODE_VERSION: "10.16.0"
ELECTRON_VERSION: "9.3.1"
NODE_VERSION: "12.14.1"

build-macos-electron-6.1.9:
<<: *common-macos
build-macos-electron-8.5.2:
<<: *common-electron-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=6.1.9 --disturl=https://atom.io/download/electron
NODE_VERSION: "10.16.0"
ELECTRON_VERSION: "8.5.2"
NODE_VERSION: "12.13.0"

build-macos-electron-5.0.6:
<<: *common-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=5.0.6 --disturl=https://atom.io/download/electron
NODE_VERSION: "10.16.0"

build-macos-electron-4.2.6:
<<: *common-macos
build-macos-electron-7.1.14:
<<: *common-electron-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=4.2.6 --disturl=https://atom.io/download/electron
NODE_VERSION: "10.16.0"
ELECTRON_VERSION: "7.1.14"
NODE_VERSION: "12.8.1"

build-macos-electron-3.1.11:
<<: *common-macos
build-macos-electron-6.1.9:
<<: *common-electron-macos
environment:
PRE_GYP_ARGS: --runtime=electron --target=3.1.11 --disturl=https://atom.io/download/electron
NODE_VERSION: "10.16.0"
ELECTRON_VERSION: "6.1.9"
# Issues with 12.4.0
NODE_VERSION: "12.6.0"

workflows:
version: 2
build_all:
jobs:
- build-14.11.0
- build-12.6.0
- build-10.16.0
- build-8.16.0
- build-electron-8.1.1
- build-electron-10.1.2
- build-electron-9.3.1
- build-electron-8.5.2
- build-electron-7.1.14
- build-electron-6.1.9
- build-electron-5.0.6
- build-electron-4.2.6
- build-electron-3.1.11
- build-electron-2.0.18
- build-electron-5.0.6
- build-macos-14.11.0
- build-macos-12.6.0
- build-macos-10.16.0
- build-macos-electron-8.1.1
- build-macos-electron-10.1.2
- build-macos-electron-9.3.1
- build-macos-electron-8.5.2
- build-macos-electron-7.1.14
- build-macos-electron-6.1.9
- build-macos-electron-5.0.6
- build-macos-electron-4.2.6
- build-macos-electron-3.1.11
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,5 @@ local.env
.eslintrc.js
setup.sh
bin
/build-tmp-napi-v3
/build-tmp-napi-v6
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,11 @@ RUN echo "#log: ${project}: Building sources" \
&& find build/stage/ -type f \
&& sync

WORKDIR /usr/local/${project}/${project}
RUN echo "#log: ${project}: Installing sources" \
&& set -x \
&& install -d /usr/local/src/${project}/deploy/ \
&& install *.tgz /usr/local/src/${project}/deploy/ \
&& cp -rfva ./build/stage/ /usr/local/src/${project}/deploy/ \
&& find /usr/local/src/${project}/deploy/ -type f \
&& sync
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Publishing of the prebuilt binaries is performed on CircleCI and AppVeyor.

# Acknowledgments

Most of the work in this library is from the [node-sqlite3](https://github.com/mapbox/node-sqlite3) library by [MapBox](http://mapbox.org/).
Most of the work in this library is from the [node-sqlite3](https://github.com/mapbox/node-sqlite3) library by [MapBox](https://mapbox.com/).

Additionally, some of the SQLCipher-related changes are based on a fork by [liubiggun](https://github.com/liubiggun/node-sqlite3).

Expand Down
Loading