Skip to content

Commit f41f8d0

Browse files
committed
ci: add full Vix SDK workflow
1 parent f7b5c20 commit f41f8d0

1 file changed

Lines changed: 21 additions & 125 deletions

File tree

.github/workflows/ci.yml

Lines changed: 21 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ jobs:
8282
spdlog:x64-windows `
8383
nlohmann-json:x64-windows `
8484
openssl:x64-windows `
85+
zlib:x64-windows `
86+
brotli:x64-windows `
8587
sqlite3:x64-windows `
88+
libmysql:x64-windows `
8689
gtest:x64-windows
8790
8891
"VCPKG_ROOT=$env:GITHUB_WORKSPACE/vcpkg" | Out-File -FilePath $env:GITHUB_ENV -Append
@@ -108,10 +111,13 @@ jobs:
108111
pkg-config \
109112
libasio-dev \
110113
libssl-dev \
114+
zlib1g-dev \
115+
libbrotli-dev \
111116
libsqlite3-dev \
112117
nlohmann-json3-dev \
113118
libfmt-dev \
114119
libspdlog-dev \
120+
libmysqlcppconn-dev \
115121
libgtest-dev
116122
117123
- name: Install macOS dependencies
@@ -128,10 +134,13 @@ jobs:
128134
curl \
129135
pkg-config \
130136
openssl@3 \
137+
zlib \
138+
brotli \
131139
sqlite \
132140
nlohmann-json \
133141
spdlog \
134142
fmt \
143+
mysql-client \
135144
googletest
136145
137146
- name: Clean workspace
@@ -142,7 +151,6 @@ jobs:
142151
rm -rf \
143152
build \
144153
install \
145-
deps \
146154
smoke-rix-auth \
147155
logs
148156
@@ -152,157 +160,43 @@ jobs:
152160
run: |
153161
set -euxo pipefail
154162
155-
if curl -fsSL https://vixcpp.com/install.sh | VIX_VERSION="${VIX_VERSION}" VIX_INSTALL_KIND=sdk sh; then
156-
test -f "$HOME/.local/lib/cmake/Vix/VixConfig.cmake"
157-
test -f "$HOME/.local/include/vix.hpp"
163+
curl -fsSL https://vixcpp.com/install.sh | VIX_VERSION="${VIX_VERSION}" VIX_INSTALL_KIND=sdk sh
158164
159-
echo "VIX_PREFIX=$HOME/.local" >> "$GITHUB_ENV"
160-
exit 0
161-
fi
165+
test -f "$HOME/.local/lib/cmake/Vix/VixConfig.cmake"
166+
test -f "$HOME/.local/include/vix.hpp"
162167
163-
echo "Vix SDK binary install failed. Building Vix from source instead."
164-
165-
git clone --depth 1 --branch "${VIX_VERSION}" --recurse-submodules https://github.com/vixcpp/vix.git deps/vix
166-
167-
cmake -S deps/vix -B deps/vix/build -G Ninja \
168-
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
169-
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/deps/vix-install" \
170-
-DVIX_ENABLE_INSTALL=ON \
171-
-DVIX_BUILD_EXAMPLES=OFF \
172-
-DVIX_BUILD_TESTS=OFF \
173-
-DVIX_ENABLE_WARNINGS=ON \
174-
-DVIX_ENABLE_HTTP_COMPRESSION=OFF \
175-
-DVIX_ENABLE_DB=ON \
176-
-DVIX_DB_USE_SQLITE=ON \
177-
-DVIX_DB_USE_MYSQL=OFF \
178-
-DVIX_DB_USE_POSTGRES=OFF \
179-
-DVIX_DB_USE_REDIS=OFF \
180-
-DVIX_CORE_WITH_MYSQL=OFF \
181-
-DVIX_ENABLE_ORM=OFF \
182-
-DVIX_ENABLE_WEBSOCKET=OFF \
183-
-DVIX_ENABLE_CLI=OFF \
184-
-DVIX_ENABLE_MIDDLEWARE=OFF \
185-
-DVIX_ENABLE_P2P=OFF \
186-
-DVIX_ENABLE_P2P_HTTP=OFF \
187-
-DVIX_ENABLE_CACHE=OFF \
188-
-DVIX_ENABLE_ASYNC=OFF \
189-
-DVIX_ENABLE_VALIDATION=ON \
190-
-DVIX_ENABLE_CRYPTO=ON \
191-
-DVIX_ENABLE_WEBRPC=OFF \
192-
-DVIX_ENABLE_TIME=ON \
193-
-DVIX_ENABLE_TESTS_MODULE=OFF \
194-
-DVIX_ENABLE_TEMPLATE=OFF \
195-
-DVIX_ENABLE_PROCESS=OFF \
196-
-DVIX_ENABLE_THREADPOOL=OFF \
197-
-DVIX_ENABLE_KV=OFF \
198-
-DVIX_ENABLE_AGENT=OFF \
199-
-DVIX_ENABLE_GAME=OFF \
200-
-DVIX_TIME_BUILD_TESTS=OFF \
201-
-DVIX_TIME_BUILD_BENCH=OFF
202-
203-
cmake --build deps/vix/build --config ${{ matrix.build_type }} -j"${BUILD_JOBS}"
204-
cmake --install deps/vix/build --config ${{ matrix.build_type }}
205-
206-
test -f "${{ github.workspace }}/deps/vix-install/lib/cmake/Vix/VixConfig.cmake"
207-
test -f "${{ github.workspace }}/deps/vix-install/include/vix.hpp"
208-
209-
echo "VIX_PREFIX=${{ github.workspace }}/deps/vix-install" >> "$GITHUB_ENV"
168+
echo "VIX_PREFIX=$HOME/.local" >> "$GITHUB_ENV"
210169
211170
- name: Install Vix SDK Windows
212171
if: runner.os == 'Windows'
213172
shell: pwsh
214173
run: |
215174
$ErrorActionPreference = "Stop"
216175
217-
$vixPrefix = "$env:GITHUB_WORKSPACE/deps/vix-install"
218-
$vixBinaryPrefix = "$env:GITHUB_WORKSPACE/deps/vix-sdk"
176+
$vixPrefix = "$env:GITHUB_WORKSPACE/deps/vix-sdk"
219177
$asset = "vix-sdk-windows-x86_64.zip"
220178
$url = "https://github.com/vixcpp/vix/releases/download/$env:VIX_VERSION/$asset"
221179
222180
New-Item -ItemType Directory -Force -Path "$env:GITHUB_WORKSPACE/deps" | Out-Null
223181
224-
try {
225-
Write-Host "Trying Vix SDK binary: $url"
226-
227-
Invoke-WebRequest -Uri "$url" -OutFile "$asset"
228-
229-
New-Item -ItemType Directory -Force -Path "$vixBinaryPrefix" | Out-Null
230-
Expand-Archive -Path "$asset" -DestinationPath "$vixBinaryPrefix" -Force
231-
232-
if (!(Test-Path "$vixBinaryPrefix/lib/cmake/Vix/VixConfig.cmake")) {
233-
throw "Downloaded SDK does not contain VixConfig.cmake"
234-
}
235-
236-
if (!(Test-Path "$vixBinaryPrefix/include/vix.hpp")) {
237-
throw "Downloaded SDK does not contain vix.hpp"
238-
}
239-
240-
"VIX_PREFIX=$vixBinaryPrefix" | Out-File -FilePath $env:GITHUB_ENV -Append
241-
Write-Host "Using Vix SDK binary at $vixBinaryPrefix"
242-
exit 0
243-
}
244-
catch {
245-
Write-Host "Vix SDK binary is not available for Windows. Building Vix from source."
246-
Write-Host $_
247-
}
182+
Invoke-WebRequest -Uri "$url" -OutFile "$asset"
248183
249-
git clone --depth 1 --branch "$env:VIX_VERSION" --recurse-submodules https://github.com/vixcpp/vix.git deps/vix
250-
251-
cmake -S deps/vix -B deps/vix/build -G Ninja `
252-
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} `
253-
-DCMAKE_TOOLCHAIN_FILE="$env:CMAKE_TOOLCHAIN_FILE" `
254-
-DVCPKG_TARGET_TRIPLET=x64-windows `
255-
-DCMAKE_INSTALL_PREFIX="$vixPrefix" `
256-
-DVIX_ENABLE_INSTALL=ON `
257-
-DVIX_BUILD_EXAMPLES=OFF `
258-
-DVIX_BUILD_TESTS=OFF `
259-
-DVIX_ENABLE_WARNINGS=ON `
260-
-DVIX_ENABLE_HTTP_COMPRESSION=OFF `
261-
-DVIX_ENABLE_DB=ON `
262-
-DVIX_DB_USE_SQLITE=ON `
263-
-DVIX_DB_USE_MYSQL=OFF `
264-
-DVIX_DB_USE_POSTGRES=OFF `
265-
-DVIX_DB_USE_REDIS=OFF `
266-
-DVIX_CORE_WITH_MYSQL=OFF `
267-
-DVIX_ENABLE_ORM=OFF `
268-
-DVIX_ENABLE_WEBSOCKET=OFF `
269-
-DVIX_ENABLE_CLI=OFF `
270-
-DVIX_ENABLE_MIDDLEWARE=OFF `
271-
-DVIX_ENABLE_P2P=OFF `
272-
-DVIX_ENABLE_P2P_HTTP=OFF `
273-
-DVIX_ENABLE_CACHE=OFF `
274-
-DVIX_ENABLE_ASYNC=OFF `
275-
-DVIX_ENABLE_VALIDATION=ON `
276-
-DVIX_ENABLE_CRYPTO=ON `
277-
-DVIX_ENABLE_WEBRPC=OFF `
278-
-DVIX_ENABLE_TIME=ON `
279-
-DVIX_ENABLE_TESTS_MODULE=OFF `
280-
-DVIX_ENABLE_TEMPLATE=OFF `
281-
-DVIX_ENABLE_PROCESS=OFF `
282-
-DVIX_ENABLE_THREADPOOL=OFF `
283-
-DVIX_ENABLE_KV=OFF `
284-
-DVIX_ENABLE_AGENT=OFF `
285-
-DVIX_ENABLE_GAME=OFF `
286-
-DVIX_TIME_BUILD_TESTS=OFF `
287-
-DVIX_TIME_BUILD_BENCH=OFF
288-
289-
cmake --build deps/vix/build --config ${{ matrix.build_type }} -j "$env:BUILD_JOBS"
290-
cmake --install deps/vix/build --config ${{ matrix.build_type }}
184+
New-Item -ItemType Directory -Force -Path "$vixPrefix" | Out-Null
185+
Expand-Archive -Path "$asset" -DestinationPath "$vixPrefix" -Force
291186
292187
if (!(Test-Path "$vixPrefix/lib/cmake/Vix/VixConfig.cmake")) {
293-
Write-Host "VixConfig.cmake not found after source build"
188+
Write-Host "VixConfig.cmake not found in SDK"
294189
Get-ChildItem -Recurse "$vixPrefix" | Select-Object FullName
295190
exit 1
296191
}
297192
298193
if (!(Test-Path "$vixPrefix/include/vix.hpp")) {
299-
Write-Host "vix.hpp not found after source build"
194+
Write-Host "vix.hpp not found in SDK"
300195
Get-ChildItem -Recurse "$vixPrefix" | Select-Object FullName
301196
exit 1
302197
}
303198
304199
"VIX_PREFIX=$vixPrefix" | Out-File -FilePath $env:GITHUB_ENV -Append
305-
Write-Host "Using source-built Vix SDK at $vixPrefix"
306200
307201
- name: Show Vix SDK prefix
308202
shell: bash
@@ -311,6 +205,8 @@ jobs:
311205
312206
echo "VIX_PREFIX=$VIX_PREFIX"
313207
test -n "$VIX_PREFIX"
208+
test -f "$VIX_PREFIX/lib/cmake/Vix/VixConfig.cmake"
209+
test -f "$VIX_PREFIX/include/vix.hpp"
314210
315211
- name: Configure rix/auth
316212
shell: bash

0 commit comments

Comments
 (0)