Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
55 changes: 53 additions & 2 deletions .github/workflows/Java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ jobs:
run: |
nm -gU ./build/release/libduckdb_java.so_linux_arm64

# Test runs are failing because of linux_arm64_musl extensions missing
# Test runs are failing because linux_arm64_musl extensions are missing
- name: JDBC Tests
shell: bash
if: ${{ inputs.skip_tests != 'true' }}
Expand Down Expand Up @@ -395,7 +395,7 @@ jobs:
if: ${{ inputs.skip_tests != 'true' }}
shell: bash
run: |
ls -R .
java -version
make test

- name: Deploy
Expand All @@ -410,6 +410,50 @@ jobs:
path: |
build/release/duckdb_jdbc.jar

java-windows-aarch64:
name: Java Windows (aarch64)
runs-on: windows-11-arm
needs: java-linux-amd64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.git_ref }}

- uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Build
shell: bash
run: make release

- name: List Symbols
shell: cmd
run: |
call "c:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsarm64.bat"
dumpbin.exe /exports build\release\Release\libduckdb_java.so_windows_arm64

# Test runs are failing because windows_arm64 extensions are missing
- name: Java Tests
if: ${{ inputs.skip_tests != 'true' }}
shell: bash
run: |
java -version
make test || true

- name: Deploy
shell: bash
run: |
cp build/release/duckdb_jdbc.jar duckdb_jdbc-windows-aarch64.jar
./scripts/upload-assets-to-staging.sh github_release duckdb_jdbc-windows-aarch64.jar

- uses: actions/upload-artifact@v4
with:
name: java-windows-aarch64
path: |
build/release/duckdb_jdbc.jar

java-osx-universal:
name: Java OSX (Universal)
runs-on: macos-14
Expand Down Expand Up @@ -461,6 +505,7 @@ jobs:
- java-linux-amd64-musl
- java-linux-aarch64-musl
- java-windows-amd64
- java-windows-aarch64
- java-osx-universal

steps:
Expand Down Expand Up @@ -496,6 +541,11 @@ jobs:
name: java-windows-amd64
path: jdbc-artifacts/java-windows-amd64

- uses: actions/download-artifact@v4
with:
name: java-windows-aarch64
path: jdbc-artifacts/java-windows-aarch64

- uses: actions/download-artifact@v4
with:
name: java-osx-universal
Expand Down Expand Up @@ -530,6 +580,7 @@ jobs:
- java-linux-amd64-musl
- java-linux-aarch64-musl
- java-windows-amd64
- java-windows-aarch64
- java-osx-universal
runs-on: ubuntu-latest
steps:
Expand Down
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,8 @@ set(JEMALLOC_SRC_FILES
set(OS_NAME "unknown")
set(OS_ARCH "amd64")

string(REGEX MATCH "(arm64|aarch64)" IS_ARM "${CMAKE_SYSTEM_PROCESSOR}")
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSTEM_PROCESSOR_LOWER)
string(REGEX MATCH "(arm64|aarch64)" IS_ARM "${SYSTEM_PROCESSOR_LOWER}")
if(IS_ARM)
set(OS_ARCH "arm64")
elseif(FORCE_32_BIT)
Expand Down
3 changes: 2 additions & 1 deletion CMakeLists.txt.in
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ set(JEMALLOC_SRC_FILES
set(OS_NAME "unknown")
set(OS_ARCH "amd64")

string(REGEX MATCH "(arm64|aarch64)" IS_ARM "${CMAKE_SYSTEM_PROCESSOR}")
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSTEM_PROCESSOR_LOWER)
string(REGEX MATCH "(arm64|aarch64)" IS_ARM "${SYSTEM_PROCESSOR_LOWER}")
if(IS_ARM)
set(OS_ARCH "arm64")
elseif(FORCE_32_BIT)
Expand Down
4 changes: 2 additions & 2 deletions scripts/jdbc_maven_deploy.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ def exec(cmd):
jdbc_root_path = sys.argv[3]

combine_builds = ['linux-amd64', 'osx-universal', 'windows-amd64', 'linux-aarch64']
arch_specific_builds = ['linux-amd64-musl', 'linux-aarch64-musl']
arch_specific_classifiers = ['linux_amd64_musl', 'linux_aarch64_musl']
arch_specific_builds = ['linux-amd64-musl', 'linux-aarch64-musl', 'windows-aarch64']
arch_specific_classifiers = ['linux_amd64_musl', 'linux_aarch64_musl', 'windows_aarch64']

staging_dir = tempfile.mkdtemp()

Expand Down