47
47
- name : Build packages
48
48
run : make build-package
49
49
50
- - name : Install driver package (DEB)
50
+ - name : Install driver packages (DEB)
51
51
run : |
52
52
set -euo pipefail
53
53
shopt -s nullglob
56
56
echo "No driver DEB packages produced"
57
57
exit 1
58
58
fi
59
+ echo "Installing ${#DRIVER_PACKAGES[@]} DEB package(s):"
60
+ for pkg in "${DRIVER_PACKAGES[@]}"; do
61
+ echo " - $(basename "$pkg")"
62
+ done
63
+ # Install both runtime and dev packages
59
64
sudo dpkg -i "${DRIVER_PACKAGES[@]}"
60
65
sudo apt-get install -f -y
61
66
67
+ - name : Verify dev package installation
68
+ run : |
69
+ set -euo pipefail
70
+ # Verify headers are installed
71
+ if [ ! -f /usr/include/cassandra.h ]; then
72
+ echo "ERROR: cassandra.h header not found - dev package may not be installed"
73
+ exit 1
74
+ fi
75
+ # Verify pkg-config file is installed
76
+ if ! pkg-config --exists scylla-cpp-driver; then
77
+ echo "ERROR: scylla-cpp-driver.pc not found - dev package may not be installed"
78
+ exit 1
79
+ fi
80
+ echo "Dev package verification successful"
81
+
62
82
- name : Build smoke-test application package
63
83
run : |
64
84
set -euo pipefail
@@ -103,14 +123,17 @@ jobs:
103
123
104
124
macos :
105
125
name : macOS packages
106
- runs-on : macos-13
126
+ runs-on : macos-15-intel
107
127
steps :
108
128
- uses : actions/checkout@v4
109
129
110
130
- name : Build packages
111
131
run : make build-package
112
132
113
- - name : Install driver package (pkg)
133
+ - name : Build smoke-test application package
134
+ run : make -C packaging/smoke-test-app package BUILD_TYPE=${{ inputs.build-type }}
135
+
136
+ - name : Install driver packages (pkg)
114
137
run : |
115
138
set -euo pipefail
116
139
shopt -s nullglob
@@ -119,30 +142,35 @@ jobs:
119
142
echo "No driver pkg packages produced"
120
143
exit 1
121
144
fi
145
+ echo "Installing ${#packages[@]} pkg package(s):"
146
+ for pkg in "${packages[@]}"; do
147
+ echo " - $(basename "$pkg")"
148
+ done
149
+ # Install all packages (macOS productbuild creates a single package with components)
122
150
for pkg in "${packages[@]}"; do
123
151
sudo installer -pkg "$pkg" -target /
124
152
done
125
153
126
- - name : Build smoke-test application package
154
+ - name : Verify dev package installation
127
155
run : |
128
156
set -euo pipefail
129
- make -C packaging/smoke-test-app package \
130
- BUILD_TYPE=${{ inputs.build-type }}
157
+ # Verify headers are installed
158
+ if [ ! -f /usr/local/include/cassandra.h ]; then
159
+ echo "ERROR: cassandra.h header not found - dev package may not be installed"
160
+ exit 1
161
+ fi
162
+ # Verify pkg-config file is installed
163
+ if ! PKG_CONFIG_PATH=/usr/local/lib/pkgconfig pkg-config --exists scylla-cpp-driver; then
164
+ echo "ERROR: scylla-cpp-driver.pc not found - dev package may not be installed"
165
+ exit 1
166
+ fi
167
+ echo "Dev package verification successful"
131
168
132
169
- name : Install smoke-test application package (pkg)
133
- run : |
134
- set -euo pipefail
135
- make -C packaging/smoke-test-app install-pkg
170
+ run : make -C packaging/smoke-test-app install-pkg
136
171
137
172
- name : Run smoke-test application against local Scylla
138
- run : |
139
- set -euo pipefail
140
- cleanup() {
141
- docker compose -f tests/examples_cluster/docker-compose.yml down --remove-orphans
142
- }
143
- trap cleanup EXIT
144
- docker compose -f tests/examples_cluster/docker-compose.yml up -d --wait
145
- /usr/local/bin/scylla-cpp-driver-smoke-test 172.43.0.2
173
+ run : make -C packaging/smoke-test-app test-package
146
174
147
175
- name : Collect artifacts
148
176
run : |
@@ -168,6 +196,22 @@ jobs:
168
196
steps :
169
197
- uses : actions/checkout@v4
170
198
199
+ - name : Install Docker
200
+ shell : pwsh
201
+ run : |
202
+ $ErrorActionPreference = 'Stop'
203
+ $dockerService = Get-Service -Name docker -ErrorAction SilentlyContinue
204
+ if (-not $dockerService) {
205
+ Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
206
+ Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
207
+ Install-Package -Name docker -ProviderName DockerMsftProvider -Force
208
+ }
209
+ try {
210
+ Start-Service docker -ErrorAction Stop
211
+ } catch {
212
+ Write-Warning "Docker service failed to start: $($_.Exception.Message)"
213
+ }
214
+
171
215
- name : Add WiX to PATH
172
216
shell : pwsh
173
217
run : |
@@ -177,21 +221,43 @@ jobs:
177
221
- name : Build packages
178
222
run : make build-package
179
223
180
- - name : Install driver package (MSI)
224
+ - name : Install driver packages (MSI)
181
225
shell : pwsh
182
226
run : |
183
227
$ErrorActionPreference = 'Stop'
184
228
$packages = Get-ChildItem build -Filter *.msi
185
229
if (-not $packages) {
186
230
throw "No driver MSI packages produced"
187
231
}
232
+ Write-Host "Installing $($packages.Count) MSI package(s):"
233
+ foreach ($pkg in $packages) {
234
+ Write-Host " - $($pkg.Name)"
235
+ }
236
+ # Install all packages (Windows WIX creates a single MSI with components)
188
237
foreach ($pkg in $packages) {
189
238
$process = Start-Process msiexec.exe -ArgumentList "/i `"$($pkg.FullName)`" /qn /norestart" -Wait -PassThru
190
239
if ($process.ExitCode -ne 0) {
191
240
throw "Failed to install driver package $($pkg.Name): exit code $($process.ExitCode)"
192
241
}
193
242
}
194
243
244
+ - name : Verify dev package installation
245
+ shell : pwsh
246
+ run : |
247
+ $ErrorActionPreference = 'Stop'
248
+ $installPath = "C:\Program Files\ScyllaDB\Scylla CPP Driver"
249
+ # Verify headers are installed
250
+ $headerPath = Join-Path $installPath "include\cassandra.h"
251
+ if (-not (Test-Path $headerPath)) {
252
+ throw "ERROR: cassandra.h header not found at $headerPath - dev package may not be installed"
253
+ }
254
+ # Verify pkg-config file is installed
255
+ $pkgConfigPath = Join-Path $installPath "lib\pkgconfig\scylla-cpp-driver.pc"
256
+ if (-not (Test-Path $pkgConfigPath)) {
257
+ throw "ERROR: scylla-cpp-driver.pc not found at $pkgConfigPath - dev package may not be installed"
258
+ }
259
+ Write-Host "Dev package verification successful"
260
+
195
261
- name : Build smoke-test application package
196
262
shell : pwsh
197
263
run : |
0 commit comments