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

alternate implementation #5

Merged
merged 80 commits into from
Aug 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
43f6c60
alternative build experiment
jraymakers Jun 30, 2024
3bf11a1
run alt in workflow
jraymakers Jun 30, 2024
e929a99
fix sparse-checkout
jraymakers Jun 30, 2024
c92c1b5
run on linux
jraymakers Jun 30, 2024
e2190dc
add linux config
jraymakers Jun 30, 2024
6db6d57
also build on windows
jraymakers Jun 30, 2024
fb077ee
testing variables for zip url
jraymakers Jun 30, 2024
868a578
try adding double quotes to zip url
jraymakers Jun 30, 2024
1cd098b
separate py script for win
jraymakers Jun 30, 2024
8c5e6ac
separate py scripts for each os
jraymakers Jun 30, 2024
f9624f9
use absolute paths?
jraymakers Jun 30, 2024
62c5ab1
fix windows!
jraymakers Jul 1, 2024
da98fbb
manual ts api
jraymakers Jul 12, 2024
5b86ccd
wire up duckdb.d.ts to build
jraymakers Jul 12, 2024
d282ae0
update .gitignore
jraymakers Jul 12, 2024
611bb84
implement a couple functions
jraymakers Jul 12, 2024
7d0171f
implement open
jraymakers Jul 13, 2024
661adf7
basic querying
jraymakers Jul 14, 2024
f083678
ts tests
jraymakers Jul 14, 2024
b9b3ecb
config
jraymakers Jul 15, 2024
b9a5259
open with config, optional path
jraymakers Jul 17, 2024
728707d
disconnect
jraymakers Jul 17, 2024
82efdfc
destroy_result
jraymakers Jul 17, 2024
e231563
statement type; query errors
jraymakers Jul 17, 2024
b6e1ba2
result return type
jraymakers Jul 17, 2024
4b4bc92
rows changed
jraymakers Jul 17, 2024
1255fd0
vector_size; TODOs
jraymakers Jul 17, 2024
4206927
include optional
jraymakers Jul 17, 2024
10815b1
free result when destroyed
jraymakers Jul 17, 2024
75b2ed7
fetch & destroy chunk
jraymakers Jul 17, 2024
720ae5f
vectors & data
jraymakers Jul 20, 2024
5fcf7a5
validity
jraymakers Jul 20, 2024
e914137
list, struct, and array vectors
jraymakers Jul 20, 2024
d90d88d
logical type; decimal & list
jraymakers Jul 20, 2024
4a53e29
string handling
jraymakers Jul 21, 2024
f9ebb6c
logical types: array, enum, map
jraymakers Jul 21, 2024
7f13e09
fix windows?
jraymakers Jul 21, 2024
85aaf8b
use vectors for create_enum_type
jraymakers Jul 21, 2024
5c3f9d7
create union type
jraymakers Jul 27, 2024
f8d6697
create struct type
jraymakers Jul 27, 2024
1017578
column logical type
jraymakers Jul 27, 2024
591325d
add TODOs
jraymakers Jul 27, 2024
3e00e55
port api to alt (all except prepared stmts)
jraymakers Jul 27, 2024
351fc33
enough prepared statements to pass test
jraymakers Jul 28, 2024
39dd3e9
pending result
jraymakers Jul 28, 2024
3c783cd
re-enable last api test
jraymakers Jul 28, 2024
bb90264
call API build & test from CI
jraymakers Jul 28, 2024
c2ec2bc
add @types/node to api
jraymakers Jul 28, 2024
2398e94
pnpm workspace
jraymakers Jul 29, 2024
5a5076a
Merge pull request #3 from duckdb/jray/alt-pnpm-workspace
jraymakers Aug 3, 2024
369eb80
add versions to bindings pkgs
jraymakers Aug 3, 2024
dfc3043
rename to @duckdb-node-neo for now
jraymakers Aug 4, 2024
e507530
add repository to package.json files
jraymakers Aug 4, 2024
95c9f67
back to @duckdb
jraymakers Aug 4, 2024
a769c31
try @jraymakers scope
jraymakers Aug 4, 2024
31290a9
package.json newlines
jraymakers Aug 4, 2024
dc00013
api pkg
jraymakers Aug 4, 2024
c7910d6
add .npmrc to api pkg
jraymakers Aug 4, 2024
6129808
add dep to api pkg
jraymakers Aug 4, 2024
d775f4d
add api pkg to workspace
jraymakers Aug 4, 2024
34dc156
change scope to duckdb-node-neo
jraymakers Aug 10, 2024
cdc2f06
add workflow_dispatch inputs
jraymakers Aug 10, 2024
a08f8f9
change repo urls in pkgs
jraymakers Aug 10, 2024
2849b0a
add publish step for linux x64
jraymakers Aug 10, 2024
93caf4c
publish workflow tweaks
jraymakers Aug 10, 2024
9605428
use @duckdb scope
jraymakers Aug 10, 2024
f27e9e9
add rest of publish workflows
jraymakers Aug 10, 2024
7f3fa22
fix windows workflow condition
jraymakers Aug 10, 2024
c970232
fix path to node-api pkg
jraymakers Aug 10, 2024
77eda67
try auth token in npmrc for windows
jraymakers Aug 10, 2024
caccd7d
use auth token in npmrc; public access
jraymakers Aug 10, 2024
de913b6
add READMEs
jraymakers Aug 10, 2024
d6933df
bump version
jraymakers Aug 10, 2024
0b1d932
Merge pull request #4 from duckdb/jray/publish-to-duckdb-node-neo
jraymakers Aug 10, 2024
dc36187
add documentation
jraymakers Aug 10, 2024
8e82ec9
bump version
jraymakers Aug 10, 2024
02e18ce
fix README doc links
jraymakers Aug 10, 2024
b48f011
bump version (again)
jraymakers Aug 10, 2024
8b3a861
rename primary workflow and remove unused workflow
jraymakers Aug 17, 2024
771a214
replace repo with alt
jraymakers Aug 17, 2024
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
32 changes: 0 additions & 32 deletions .clang-format

This file was deleted.

183 changes: 183 additions & 0 deletions .github/workflows/DuckDBNodeBindingsAndAPI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
name: DuckDB Node Bindings & API
on:
push:
pull_request:
workflow_dispatch:
inputs:
publish_dry_run:
description: 'Publish Dry Run'
type: boolean
required: true
default: true
linux:
description: 'Run on Linux'
type: boolean
required: true
default: false
publish_linux_x64:
description: 'Publish Bindings for Linux x64'
type: boolean
required: true
default: false
publish_bindings:
description: 'Publish Bindings (from Linux)'
type: boolean
required: true
default: false
publish_api:
description: 'Publish API (from Linux)'
type: boolean
required: true
default: false
macos:
description: 'Run on Mac OS'
type: boolean
required: true
default: false
publish_darwin_arm64:
description: 'Publish Bindings for Darwin ARM64'
type: boolean
required: true
default: false
windows:
description: 'Run on Windows'
type: boolean
required: true
default: false
publish_win32_x64:
description: 'Publish Bindings for Win32 x64'
type: boolean
required: true
default: false
repository_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }}
cancel-in-progress: false

jobs:

linux:
name: Linux
runs-on: ubuntu-latest
if: ${{ github.event_name != 'workflow_dispatch' || inputs.linux }}
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3
with:
version: 9

- name: Workspace - Install
run: pnpm install --ignore-scripts

- name: Bindings - Build
working-directory: bindings
run: pnpm run build

- name: Bindings - Test
working-directory: bindings
run: pnpm test

- name: API - Build
working-directory: api
run: pnpm run build

- name: API - Test
working-directory: api
run: pnpm test

- name: Publish - Bindings - Linux x64
if: ${{ inputs.publish_linux_x64 }}
working-directory: bindings/pkgs/@duckdb/node-bindings-linux-x64
run: pnpm publish ${{ inputs.publish_dry_run && '--dry-run' || '' }} --publish-branch ${{ github.ref_name }} --access public
env:
NPM_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish - Bindings
if: ${{ inputs.publish_bindings }}
working-directory: bindings/pkgs/@duckdb/node-bindings
run: pnpm publish ${{ inputs.publish_dry_run && '--dry-run' || '' }} --publish-branch ${{ github.ref_name }} --access public
env:
NPM_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish - API
if: ${{ inputs.publish_api }}
working-directory: api/pkgs/@duckdb/node-api
run: pnpm publish ${{ inputs.publish_dry_run && '--dry-run' || '' }} --publish-branch ${{ github.ref_name }} --access public
env:
NPM_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

macos:
name: Mac OS X
runs-on: macos-latest
if: ${{ github.event_name != 'workflow_dispatch' || inputs.macos }}
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3
with:
version: 9

- name: Workspace - Install
run: pnpm install --ignore-scripts

- name: Bindings - Build
working-directory: bindings
run: pnpm run build

- name: Bindings - Test
working-directory: bindings
run: pnpm test

- name: API - Build
working-directory: api
run: pnpm run build

- name: API - Test
working-directory: api
run: pnpm test

- name: Publish - Bindings - Darwin ARM64
if: ${{ inputs.publish_darwin_arm64 }}
working-directory: bindings/pkgs/@duckdb/node-bindings-darwin-arm64
run: pnpm publish ${{ inputs.publish_dry_run && '--dry-run' || '' }} --publish-branch ${{ github.ref_name }} --access public
env:
NPM_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

windows:
name: Windows
runs-on: windows-latest
if: ${{ github.event_name != 'workflow_dispatch' || inputs.windows }}
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3
with:
version: 9

- name: Workspace - Install
run: pnpm install --ignore-scripts

- name: Bindings - Build
working-directory: bindings
run: pnpm run build

- name: Bindings - Test
working-directory: bindings
run: pnpm test

- name: API - Build
working-directory: api
run: pnpm run build

- name: API - Test
working-directory: api
run: pnpm test

- name: Publish - Bindings - Win32 x64
if: ${{ inputs.publish_win32_x64 }}
working-directory: bindings/pkgs/@duckdb/node-bindings-win32-x64
run: pnpm publish ${{ inputs.publish_dry_run && '--dry-run' || '' }} --publish-branch ${{ github.ref_name }} --access public
env:
NPM_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36 changes: 0 additions & 36 deletions .github/workflows/HighPriorityIssues.yml

This file was deleted.

Loading