ci: smoke test release packages

This commit is contained in:
Zhi Guan
2026-06-21 11:40:02 +08:00
parent 4a55a0db81
commit ce15871831

View File

@@ -31,26 +31,26 @@ jobs:
VERSION="${TAG#v}" VERSION="${TAG#v}"
PACKAGE="GmSSL-${VERSION}-Linux-x86_64" PACKAGE="GmSSL-${VERSION}-Linux-x86_64"
PREFIX="${PWD}/${PACKAGE}" PREFIX="${PWD}/${PACKAGE}"
STATIC_PREFIX="${PWD}/${PACKAGE}-static"
rm -rf build-shared build-static "${PREFIX}" "${PACKAGE}.tar.gz" rm -rf build-shared build-static "${PREFIX}" "${STATIC_PREFIX}" "${PACKAGE}.tar.gz"
cmake -S . -B build-shared \ cmake -S . -B build-shared \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DBUILD_SHARED_LIBS=ON \ -DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" -DCMAKE_INSTALL_PREFIX="${PREFIX}"
cmake --build build-shared --config "${BUILD_TYPE}" cmake --build build-shared --config "${BUILD_TYPE}"
ctest --test-dir build-shared --output-on-failure -C "${BUILD_TYPE}" cmake --install build-shared --prefix "${PREFIX}"
cmake --install build-shared "${PREFIX}/bin/gmssl" version | grep "GmSSL ${VERSION}"
cmake -S . -B build-static \ cmake -S . -B build-static \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DBUILD_SHARED_LIBS=OFF \ -DBUILD_SHARED_LIBS=OFF \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" -DCMAKE_INSTALL_PREFIX="${STATIC_PREFIX}"
cmake --build build-static --config "${BUILD_TYPE}" cmake --build build-static --config "${BUILD_TYPE}"
ctest --test-dir build-static --output-on-failure -C "${BUILD_TYPE}" cmake --install build-static --prefix "${STATIC_PREFIX}"
cmake --install build-static cp "${STATIC_PREFIX}/lib/libgmssl.a" "${PREFIX}/lib/libgmssl.a"
"${PREFIX}/bin/gmssl" version | grep "GmSSL ${VERSION}"
cat > smoke.c <<'EOF' cat > smoke.c <<'EOF'
#include <stdio.h> #include <stdio.h>
#include <gmssl/version.h> #include <gmssl/version.h>
@@ -96,16 +96,16 @@ jobs:
$Version = $env:TAG.TrimStart("v") $Version = $env:TAG.TrimStart("v")
$Package = "GmSSL-$Version-win64" $Package = "GmSSL-$Version-win64"
$Prefix = Join-Path $PWD $Package $Prefix = Join-Path $PWD $Package
$StaticPrefix = Join-Path $PWD "$Package-static"
Remove-Item -Recurse -Force build-shared, build-static, $Prefix, "$Package.zip" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force build-shared, build-static, $Prefix, $StaticPrefix, "$Package.zip" -ErrorAction SilentlyContinue
cmake -S . -B build-shared -G "NMake Makefiles" ` cmake -S . -B build-shared -G "NMake Makefiles" `
-DCMAKE_BUILD_TYPE="$env:BUILD_TYPE" ` -DCMAKE_BUILD_TYPE="$env:BUILD_TYPE" `
-DBUILD_SHARED_LIBS=ON ` -DBUILD_SHARED_LIBS=ON `
-DCMAKE_INSTALL_PREFIX="$Prefix" -DCMAKE_INSTALL_PREFIX="$Prefix"
cmake --build build-shared --config "$env:BUILD_TYPE" cmake --build build-shared --config "$env:BUILD_TYPE"
ctest --test-dir build-shared --output-on-failure -C "$env:BUILD_TYPE" cmake --install build-shared --prefix "$Prefix"
cmake --install build-shared
$SharedImportLib = Join-Path $Prefix "lib\gmssl.lib" $SharedImportLib = Join-Path $Prefix "lib\gmssl.lib"
if (Test-Path $SharedImportLib) { if (Test-Path $SharedImportLib) {
@@ -115,18 +115,13 @@ jobs:
cmake -S . -B build-static -G "NMake Makefiles" ` cmake -S . -B build-static -G "NMake Makefiles" `
-DCMAKE_BUILD_TYPE="$env:BUILD_TYPE" ` -DCMAKE_BUILD_TYPE="$env:BUILD_TYPE" `
-DBUILD_SHARED_LIBS=OFF ` -DBUILD_SHARED_LIBS=OFF `
-DCMAKE_INSTALL_PREFIX="$Prefix" -DCMAKE_INSTALL_PREFIX="$StaticPrefix"
cmake --build build-static --config "$env:BUILD_TYPE" cmake --build build-static --config "$env:BUILD_TYPE"
ctest --test-dir build-static --output-on-failure -C "$env:BUILD_TYPE" cmake --install build-static --prefix "$StaticPrefix"
cmake --install build-static
$StaticLib = Join-Path $Prefix "lib\gmssl.lib" $StaticLib = Join-Path $StaticPrefix "lib\gmssl.lib"
if (Test-Path $StaticLib) { if (Test-Path $StaticLib) {
Move-Item $StaticLib (Join-Path $Prefix "lib\gmssl_static.lib") -Force Copy-Item $StaticLib (Join-Path $Prefix "lib\gmssl_static.lib") -Force
}
$SharedImportCopy = Join-Path $Prefix "lib\gmssl_shared.lib"
if (Test-Path $SharedImportCopy) {
Copy-Item $SharedImportCopy (Join-Path $Prefix "lib\gmssl.lib") -Force
} }
& (Join-Path $Prefix "bin\gmssl.exe") version | Select-String "GmSSL $Version" & (Join-Path $Prefix "bin\gmssl.exe") version | Select-String "GmSSL $Version"