Skip to content

Commit d677291

Browse files
committed
Rework daily tests
1 parent ed5e483 commit d677291

4 files changed

Lines changed: 79 additions & 216 deletions

File tree

.github/workflows/ci.yml

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,47 @@ on:
1717
description: 'TileDB Core ref (branch/tag/commit) to build against'
1818
required: false
1919
type: string
20+
cmake_build_type:
21+
description: 'CMAKE_BUILD_TYPE for TileDB Core (Release or Debug)'
22+
required: false
23+
type: string
24+
default: 'Release'
25+
python_version:
26+
description: 'Specific Python version to test (empty=test all versions)'
27+
required: false
28+
type: string
29+
default: ''
30+
numpy_version:
31+
description: 'Specific numpy version to test (empty=default from dependencies)'
32+
required: false
33+
type: string
34+
default: ''
35+
workflow_call:
36+
inputs:
37+
libtiledb_ref:
38+
description: 'TileDB Core ref (branch/tag/commit) to build against'
39+
required: false
40+
type: string
41+
cmake_build_type:
42+
description: 'CMAKE_BUILD_TYPE for TileDB Core (Release or Debug)'
43+
required: false
44+
type: string
45+
default: 'Release'
46+
tiledb_version:
47+
description: 'TileDB Core version for pre-built binaries (alternative to libtiledb_ref)'
48+
required: false
49+
type: string
50+
default: ''
51+
python_version:
52+
description: 'Specific Python version to test (empty=test all versions)'
53+
required: false
54+
type: string
55+
default: ''
56+
numpy_version:
57+
description: 'Specific numpy version to test (empty=default from dependencies)'
58+
required: false
59+
type: string
60+
default: ''
2061

2162
concurrency:
2263
group: ${{ github.head_ref || github.run_id }}
@@ -30,6 +71,7 @@ env:
3071
jobs:
3172
build:
3273
runs-on: ${{ matrix.os }}
74+
if: inputs.python_version == '' || inputs.python_version == matrix.python-version
3375
defaults:
3476
run:
3577
shell: bash
@@ -44,6 +86,7 @@ jobs:
4486
fail-fast: false
4587
env:
4688
MACOSX_DEPLOYMENT_TARGET: "11"
89+
TILEDB_VERSION: ${{ inputs.tiledb_version }}
4790
steps:
4891
- name: Checkout TileDB-Py `main`
4992
uses: actions/checkout@v6
@@ -107,10 +150,11 @@ jobs:
107150
if: inputs.libtiledb_ref
108151
run: |
109152
# Configure with vcpkg on all platforms
153+
BUILD_TYPE="${{ inputs.cmake_build_type || 'Release' }}"
110154
CMAKE_ARGS=(
111155
-S _tiledb_core
112156
-B _tiledb_core/build
113-
-DCMAKE_BUILD_TYPE=Release
157+
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
114158
-DBUILD_SHARED_LIBS=ON
115159
-DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE//\\//}/_tiledb_core/dist"
116160
-DTILEDB_INSTALL_LIBDIR=lib
@@ -120,7 +164,7 @@ jobs:
120164
)
121165
122166
cmake "${CMAKE_ARGS[@]}"
123-
cmake --build _tiledb_core/build --config Release -j4 --target install
167+
cmake --build _tiledb_core/build --config "$BUILD_TYPE" -j4 --target install
124168
125169
- name: "Build and Install TileDB-Py"
126170
run: |
@@ -149,6 +193,15 @@ jobs:
149193
Write-Host "DLL copy completed successfully"
150194
shell: powershell
151195

196+
- name: "Install specific NumPy version"
197+
if: inputs.numpy_version != ''
198+
run: |
199+
echo "Installing NumPy version ${{ inputs.numpy_version }}"
200+
pip install numpy==${{ inputs.numpy_version }}
201+
202+
- name: "Print installed Python dependencies"
203+
run: pip list
204+
152205
- name: "Run tests"
153206
run: |
154207
PROJECT_CWD=$PWD

.github/workflows/daily-test-build-numpy.yml

Lines changed: 0 additions & 114 deletions
This file was deleted.

.github/workflows/daily-test-build.yml

Lines changed: 0 additions & 94 deletions
This file was deleted.

.github/workflows/daily-tests.yml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,37 @@ on:
88

99
jobs:
1010
daily-test-build:
11-
name: Daily Test Build (libtiledb ${{ matrix.libtiledb_version }})
11+
name: Daily Test Build (libtiledb ${{ matrix.libtiledb_version }}, Debug)
1212
strategy:
1313
matrix:
1414
libtiledb_version: ['2.30.0', '2.29.2']
15-
uses: ./.github/workflows/daily-test-build.yml
15+
fail-fast: false
16+
uses: ./.github/workflows/ci.yml
1617
with:
17-
libtiledb_version: ${{ matrix.libtiledb_version }}
18+
libtiledb_ref: ${{ matrix.libtiledb_version }}
19+
cmake_build_type: Debug
20+
python_version: "3.11"
1821

1922
daily-test-build-numpy:
20-
name: Daily Test Build NumPy (libtiledb ${{ matrix.libtiledb_version }})
23+
name: Daily Test Build NumPy (libtiledb ${{ matrix.libtiledb_version }}, py${{ matrix.py_np_combo.python-version }}, numpy${{ matrix.py_np_combo.numpy-version }})
2124
strategy:
2225
matrix:
2326
libtiledb_version: ['2.30.0', '2.29.2']
24-
uses: ./.github/workflows/daily-test-build-numpy.yml
27+
py_np_combo:
28+
- { python-version: "3.9", numpy-version: "1.25.2" }
29+
- { python-version: "3.9", numpy-version: "2.0.2" }
30+
- { python-version: "3.10", numpy-version: "1.25.2" }
31+
- { python-version: "3.10", numpy-version: "2.2.6" }
32+
- { python-version: "3.11", numpy-version: "1.25.2" }
33+
- { python-version: "3.11", numpy-version: "2.3.4" }
34+
- { python-version: "3.12", numpy-version: "1.26.4" }
35+
- { python-version: "3.12", numpy-version: "2.3.4" }
36+
- { python-version: "3.13", numpy-version: "2.1.3" }
37+
- { python-version: "3.13", numpy-version: "2.3.4" }
38+
- { python-version: "3.14", numpy-version: "2.3.4" }
39+
fail-fast: false
40+
uses: ./.github/workflows/ci.yml
2541
with:
26-
libtiledb_version: ${{ matrix.libtiledb_version }}
42+
tiledb_version: ${{ matrix.libtiledb_version }}
43+
python_version: ${{ matrix.py_np_combo.python-version }}
44+
numpy_version: ${{ matrix.py_np_combo.numpy-version }}

0 commit comments

Comments
 (0)