duckdb 0.10.1-dev0.0 → 0.10.1-dev13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,8 +11,9 @@ concurrency:
11
11
 
12
12
  env:
13
13
  GH_TOKEN: ${{ secrets.GH_TOKEN }}
14
- AWS_ACCESS_KEY_ID: ${{ secrets.NODE_PRE_GYP_ID }}
15
- AWS_SECRET_ACCESS_KEY: ${{ secrets.NODE_PRE_GYP_SECRETACCESSKEY }}
14
+ AWS_ACCESS_KEY_ID: ${{secrets.S3_DUCKDB_ORG_DEPLOY_ID}}
15
+ AWS_SECRET_ACCESS_KEY: ${{secrets.S3_DUCKDB_ORG_DEPLOY_KEY}}
16
+ AWS_DEFAULT_REGION: us-east-1
16
17
 
17
18
  jobs:
18
19
  set-up-npm:
@@ -25,6 +26,24 @@ jobs:
25
26
  with:
26
27
  fetch-depth: 0
27
28
 
29
+ - uses: actions/setup-python@v4
30
+ with:
31
+ python-version: '3.11'
32
+
33
+ - name: Debug workflow
34
+ shell: bash
35
+ run:
36
+ echo "$AWS_ACCESS_KEY_ID" "$AWS_DEFAULT_REGION"
37
+ echo "$AWS_ACCESS_KEY_ID" > myfile.txt
38
+ LOCAL_BINARY=myfile.txt
39
+ REMOTE_BINARY=https://npm.duckdb.org/duckdb/myfile.txt
40
+ S3_ENDPOINT_BINARY="s3://duckdb-npm/"${REMOTE_BINARY:23}
41
+ pip install awscli
42
+ echo "local binary at $LOCAL_BINARY"
43
+ echo "remote binary at $REMOTE_BINARY"
44
+ echo "served from $S3_ENDPOINT_BINARY"
45
+ aws s3 cp $LOCAL_BINARY $S3_ENDPOINT_BINARY --acl public-read
46
+
28
47
  - name: Setup NPM
29
48
  shell: bash
30
49
  run: ./scripts/node_version.sh upload
@@ -43,7 +62,7 @@ jobs:
43
62
  strategy:
44
63
  matrix:
45
64
  # node.js current support policy to be found at https://github.com/duckdb/duckdb-node/tree/main/#Supported-Node-versions
46
- node: [ '12', '14', '16', '17', '18', '19', '20', '21']
65
+ node: [ '16', '17', '18', '19', '20', '21']
47
66
  target_arch: [ x64, arm64 ]
48
67
  isRelease:
49
68
  - ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }}
@@ -73,6 +92,11 @@ jobs:
73
92
  with:
74
93
  fetch-depth: 0
75
94
 
95
+ # Default Python (3.12) doesn't have support for distutils
96
+ - uses: actions/setup-python@v4
97
+ with:
98
+ python-version: '3.11'
99
+
76
100
  - name: Update apt
77
101
  shell: bash
78
102
  run: |
@@ -109,7 +133,7 @@ jobs:
109
133
  if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb-node'
110
134
  name: node.js OSX
111
135
  runs-on: macos-latest
112
- needs: linux-nodejs
136
+ needs: set-up-npm
113
137
  continue-on-error: ${{ matrix.node != '18' && matrix.node != '20' && matrix.node != '21' }}
114
138
  strategy:
115
139
  matrix:
@@ -172,14 +196,14 @@ jobs:
172
196
  win-nodejs:
173
197
  name: node.js Windows
174
198
  runs-on: windows-latest
175
- needs: linux-nodejs
199
+ needs: set-up-npm
176
200
  continue-on-error: ${{ matrix.node != '18' && matrix.node != '20' && matrix.node != '21' }}
177
201
  env:
178
202
  npm_config_msvs_version: 2019
179
203
 
180
204
  strategy:
181
205
  matrix:
182
- node: [ '12', '14', '16', '17', '18', '19', '20', '21']
206
+ node: [ '16', '17', '18', '19', '20', '21']
183
207
  isRelease:
184
208
  - ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }}
185
209
  exclude:
@@ -199,9 +223,10 @@ jobs:
199
223
  node: 20
200
224
 
201
225
  steps:
226
+ # Default Python (3.12) doesn't have support for distutils
202
227
  - uses: actions/setup-python@v4
203
228
  with:
204
- python-version: '3.8'
229
+ python-version: '3.11'
205
230
 
206
231
  - uses: actions/checkout@v3
207
232
  with:
package/myfile.txt ADDED
@@ -0,0 +1 @@
1
+ AKIA4HHCC5ZJWPMXCW75 us-east-1 echo AKIA4HHCC5ZJWPMXCW75 LOCAL_BINARY=myfile.txt REMOTE_BINARY=https://npm.duckdb.org/duckdb/myfile.txt S3_ENDPOINT_BINARY=s3://duckdb-npm/ pip install awscli echo local binary at echo remote binary at echo served from aws s3 cp --acl public-read
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
4
  "types": "./lib/duckdb.d.ts",
5
- "version": "0.10.1-dev0.0",
5
+ "version": "0.10.1-dev13.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -13,7 +13,7 @@
13
13
  "binary": {
14
14
  "module_name": "duckdb",
15
15
  "module_path": "./lib/binding/",
16
- "host": "https://duckdb-node.s3.amazonaws.com"
16
+ "host": "https://npm.duckdb.org/duckdb"
17
17
  },
18
18
  "scripts": {
19
19
  "install": "node-pre-gyp install --fallback-to-build",
@@ -34,7 +34,19 @@ fi
34
34
 
35
35
  export PATH=$(npm bin):$PATH
36
36
  ./node_modules/.bin/node-pre-gyp package testpackage testbinary --target_arch="$TARGET_ARCH"
37
+
38
+ LOCAL_BINARY=$(./node_modules/.bin/node-pre-gyp reveal staged_tarball --silent --target_arch="$TARGET_ARCH")
39
+ REMOTE_BINARY=$(./node_modules/.bin/node-pre-gyp reveal hosted_tarball --silent --target_arch="$TARGET_ARCH")
40
+ S3_ENDPOINT_BINARY="s3://duckdb-npm/"${REMOTE_BINARY:23}
41
+
42
+ pip install awscli
43
+
44
+ echo "local binary at $LOCAL_BINARY"
45
+ echo "remote binary at $REMOTE_BINARY"
46
+ echo "served from $S3_ENDPOINT_BINARY"
47
+
37
48
  if [[ "$GITHUB_REF" =~ ^(refs/heads/main|refs/tags/v.+)$ ]] ; then
38
- ./node_modules/.bin/node-pre-gyp publish --target_arch=$TARGET_ARCH
39
- ./node_modules/.bin/node-pre-gyp info --target_arch=$TARGET_ARCH
49
+ aws s3 cp $LOCAL_BINARY $S3_ENDPOINT_BINARY --acl public-read
50
+ else
51
+ aws s3 cp $LOCAL_BINARY $S3_ENDPOINT_BINARY --acl public-read --dryrun
40
52
  fi
@@ -15,7 +15,18 @@ if [[ ! "$GITHUB_REF" =~ ^(refs/tags/v.+)$ ]] ; then
15
15
  fi
16
16
  npx node-pre-gyp package testpackage testbinary
17
17
 
18
+ LOCAL_BINARY=$(./node_modules/.bin/node-pre-gyp reveal staged_tarball --silent)
19
+ REMOTE_BINARY=$(./node_modules/.bin/node-pre-gyp reveal hosted_tarball --silent)
20
+ S3_ENDPOINT_BINARY="s3://duckdb-npm/"${REMOTE_BINARY:23}
21
+
22
+ pip install awscli
23
+
24
+ echo "local binary at $LOCAL_BINARY"
25
+ echo "remote binary at $REMOTE_BINARY"
26
+ echo "served from $S3_ENDPOINT_BINARY"
27
+
18
28
  if [[ "$GITHUB_REF" =~ ^(refs/heads/main|refs/tags/v.+)$ ]] ; then
19
- npx node-pre-gyp publish
20
- npx node-pre-gyp info
21
- fi
29
+ aws s3 cp $LOCAL_BINARY $S3_ENDPOINT_BINARY --acl public-read
30
+ else
31
+ aws s3 cp $LOCAL_BINARY $S3_ENDPOINT_BINARY --acl public-read --dryrun
32
+ fi