This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 8c2bb8d51 feat(javascript): publish a win32-arm64 native package
(#4634)
8c2bb8d51 is described below
commit 8c2bb8d513bd41ddc8af4477f174d2a4aea61b0b
Author: Philip Moore <[email protected]>
AuthorDate: Tue Aug 25 20:05:30 2026 -0400
feat(javascript): publish a win32-arm64 native package (#4634)
Fixes #4629.
Generated-by: Claude Fable 5 <[email protected]>
---
.github/workflows/javascript.yml | 26 +++++++++++++++-----------
.github/workflows/packaging.yml | 2 ++
javascript/.cargo/config.toml | 3 +++
javascript/npm/win32-arm64-msvc/README.md | 22 ++++++++++++++++++++++
javascript/npm/win32-arm64-msvc/package.json | 24 ++++++++++++++++++++++++
javascript/package-lock.json | 1 +
javascript/package.json | 2 ++
7 files changed, 69 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/javascript.yml b/.github/workflows/javascript.yml
index c0519a07c..5ed8a1f05 100644
--- a/.github/workflows/javascript.yml
+++ b/.github/workflows/javascript.yml
@@ -91,6 +91,8 @@ jobs:
target: aarch64-apple-darwin
- host: windows-latest
target: x86_64-pc-windows-msvc
+ - host: windows-11-arm
+ target: aarch64-pc-windows-msvc
- host: ubuntu-latest
target: x86_64-unknown-linux-gnu
- host: ubuntu-24.04-arm
@@ -149,6 +151,8 @@ jobs:
target: aarch64-apple-darwin
- host: windows-latest
target: x86_64-pc-windows-msvc
+ - host: windows-11-arm
+ target: aarch64-pc-windows-msvc
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 #
v7.0.1
with:
@@ -168,21 +172,21 @@ jobs:
with:
name: bindings-${{ matrix.settings.target }}
path: javascript
- - name: Setup conda (Windows)
- if: runner.os == 'Windows'
- uses:
conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 #
v4.0.1
- with:
- miniforge-version: latest
- name: Install C++ dependencies (Windows)
+ # SQLite is the only dependency the test driver build needs, so take
+ # it from the runner's preinstalled vcpkg (present on both the x64 and
+ # arm64 images) rather than conda. The static-md triplet links SQLite
+ # into the driver DLL, so nothing extra has to go on PATH at runtime.
if: runner.os == 'Windows'
- run: conda install -c conda-forge --file ci/conda_env_cpp.txt
+ shell: pwsh
+ run: |
+ $triplet = if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64') {
'arm64-windows-static-md' } else { 'x64-windows-static-md' }
+ & "$env:VCPKG_INSTALLATION_ROOT\vcpkg.exe" install "sqlite3:$triplet"
+ $toolchain =
"$env:VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake" -replace '\\',
'/'
+ echo "ADBC_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=$toolchain
-DVCPKG_TARGET_TRIPLET=$triplet" >> $env:GITHUB_ENV
- name: Install C++ dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get install libsqlite3-dev
- - name: Set cmake args (Windows)
- if: runner.os == 'Windows'
- shell: pwsh
- run: echo
"ADBC_CMAKE_ARGS=-DCMAKE_PREFIX_PATH=$env:CONDA_PREFIX/Library" >>
$env:GITHUB_ENV
- name: Build Driver
# We need to build the SQLite driver for tests.
shell: bash
@@ -197,7 +201,7 @@ jobs:
if: runner.os == 'Windows'
shell: pwsh
run: |
- echo "PATH=${{ github.workspace
}}/javascript/build/bin;$env:CONDA_PREFIX\Library\bin;$env:PATH" >>
$env:GITHUB_ENV
+ echo "PATH=${{ github.workspace }}/javascript/build/bin;$env:PATH"
>> $env:GITHUB_ENV
echo "ADBC_DRIVER_MANAGER_TEST_LIB=${{ github.workspace
}}/javascript/build/bin/adbc_driver_sqlite.dll" >> $env:GITHUB_ENV
- name: Run Tests
working-directory: javascript
diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml
index 2d44d140b..660ca00c1 100644
--- a/.github/workflows/packaging.yml
+++ b/.github/workflows/packaging.yml
@@ -1262,6 +1262,8 @@ jobs:
target: aarch64-apple-darwin
- host: windows-latest
target: x86_64-pc-windows-msvc
+ - host: windows-11-arm
+ target: aarch64-pc-windows-msvc
- host: ubuntu-latest
target: x86_64-unknown-linux-gnu
- host: ubuntu-24.04-arm
diff --git a/javascript/.cargo/config.toml b/javascript/.cargo/config.toml
index 60aafc2cc..f86e2115f 100644
--- a/javascript/.cargo/config.toml
+++ b/javascript/.cargo/config.toml
@@ -17,3 +17,6 @@
[target.x86_64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]
+
+[target.aarch64-pc-windows-msvc]
+rustflags = ["-C", "target-feature=+crt-static"]
diff --git a/javascript/npm/win32-arm64-msvc/README.md
b/javascript/npm/win32-arm64-msvc/README.md
new file mode 100644
index 000000000..598b0018c
--- /dev/null
+++ b/javascript/npm/win32-arm64-msvc/README.md
@@ -0,0 +1,22 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# `adbc-driver-manager-win32-arm64-msvc`
+
+This is the **aarch64-pc-windows-msvc** binary for `adbc-driver-manager`
diff --git a/javascript/npm/win32-arm64-msvc/package.json
b/javascript/npm/win32-arm64-msvc/package.json
new file mode 100644
index 000000000..c25cd6170
--- /dev/null
+++ b/javascript/npm/win32-arm64-msvc/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@apache-arrow/adbc-driver-manager-win32-arm64-msvc",
+ "version": "0.25.0",
+ "cpu": [
+ "arm64"
+ ],
+ "main": "adbc-driver-manager.win32-arm64-msvc.node",
+ "files": [
+ "adbc-driver-manager.win32-arm64-msvc.node"
+ ],
+ "description": "Node.js ADBC Driver Manager",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=22.0.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/apache/arrow-adbc.git",
+ "directory": "javascript"
+ },
+ "os": [
+ "win32"
+ ]
+}
diff --git a/javascript/package-lock.json b/javascript/package-lock.json
index 71bfaf62f..e47e5bc24 100644
--- a/javascript/package-lock.json
+++ b/javascript/package-lock.json
@@ -27,6 +27,7 @@
"@apache-arrow/adbc-driver-manager-darwin-x64": "0.25.0",
"@apache-arrow/adbc-driver-manager-linux-arm64-gnu": "0.25.0",
"@apache-arrow/adbc-driver-manager-linux-x64-gnu": "0.25.0",
+ "@apache-arrow/adbc-driver-manager-win32-arm64-msvc": "0.25.0",
"@apache-arrow/adbc-driver-manager-win32-x64-msvc": "0.25.0"
},
"peerDependencies": {
diff --git a/javascript/package.json b/javascript/package.json
index bc5a7a32c..3e07a6ae7 100644
--- a/javascript/package.json
+++ b/javascript/package.json
@@ -26,6 +26,7 @@
"binaryName": "adbc-driver-manager",
"targets": [
"x86_64-pc-windows-msvc",
+ "aarch64-pc-windows-msvc",
"x86_64-apple-darwin",
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
@@ -86,6 +87,7 @@
},
"optionalDependencies": {
"@apache-arrow/adbc-driver-manager-win32-x64-msvc": "0.25.0",
+ "@apache-arrow/adbc-driver-manager-win32-arm64-msvc": "0.25.0",
"@apache-arrow/adbc-driver-manager-darwin-x64": "0.25.0",
"@apache-arrow/adbc-driver-manager-linux-x64-gnu": "0.25.0",
"@apache-arrow/adbc-driver-manager-linux-arm64-gnu": "0.25.0",