Skip to content

Commit

Permalink
Initial version of a Windows config for Github Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
absurdfarce committed Nov 6, 2024
1 parent fa07c9a commit c975465
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 1 deletion.
45 changes: 45 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
on: [push]
name: Test
jobs:
test:
name: Build and test driver on windows-2022
runs-on: windows-2019
env:
CASS_DRIVER_LIBEV_INCLUDES: C:/vcpkg/packages/libev_x64-windows/include/libev
CASS_DRIVER_LIBEV_LIBS: C:/vcpkg/packages/libev_x64-windows/lib
LIBUV_ROOT_DIR: C:/vcpkg/packages/libuv_x64-windows
ZLIB_ROOT_DIR: C:/vcpkg/packages/zlib_x64-windows-static
KERBEROS_ROOT_DIR: C:/vcpkg/packages/krb5_x64-windows
OPENSSL_ROOT_DIR: C:/vcpkg/packages/openssl_x64-windows
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies
run: vcpkg install libuv zlib:x64-windows-static krb5 openssl
- name: Setup env vars
run: |
echo "ZLIB_LIB_DIR=${{ env.ZLIB_ROOT_DIR }}/lib" >> $env:GITHUB_ENV
echo "LIBUV_BIN_DIR=${{ env.LIBUV_ROOT_DIR }}/bin" >> $env:GITHUB_ENV
echo "KERBEROS_BIN_DIR=${{ env.KERBEROS_ROOT_DIR }}/bin" >> $env:GITHUB_ENV
echo "OPENSSL_BIN_DIR=${{ env.OPENSSL_ROOT_DIR }}/bin" >> $env:GITHUB_ENV
echo "OPENSSL_APPLINK_DIR=${{ env.OPENSSL_ROOT_DIR }}/include/openssl" >> $env:GITHUB_ENV
- name: Set PATH to find vcpkg dependencies
run: |
echo "PATH=${{ env.PATH }};${{ env.LIBUV_BIN_DIR }};${{ env.KERBEROS_BIN_DIR }};${{ env.OPENSSL_BIN_DIR }}" >> $env:GITHUB_ENV
- name: Fix name of static zlib dir
run: ln -s ${{ env.ZLIB_LIB_DIR }}/zlib.lib ${{ env.ZLIB_LIB_DIR }}/zlibstatic.lib
- name: Build and run tests
run: |
mkdir build
cd build
cmake -G "NMake Makefiles" -DCASS_BUILD_UNIT_TESTS=On -DCASS_OPENSSL_APPLINK=${{ env.OPENSSL_APPLINK_DIR }}/applink.c ..
nmake
ls .
ldd ./cassandra-unit-tests.exe
./cassandra-unit-tests.exe --gtest_output=xml:gtest-results.xml
ls .
- name: Publish test results
uses: mikepenz/action-junit-report@v4
if: success() || failure()
with:
report_paths: build\gtest-results.xml
1 change: 0 additions & 1 deletion src/gssapi/dse_auth_gssapi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <string.h>

#include <gssapi/gssapi.h>
#include <gssapi/gssapi_generic.h>
#include <gssapi/gssapi_krb5.h>

#define DSE_AUTHENTICATOR "com.datastax.bdp.cassandra.auth.DseAuthenticator"
Expand Down
6 changes: 6 additions & 0 deletions tests/src/unit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ source_group("Header Files" FILES ${UNIT_TESTS_INCLUDE_FILES})
source_group("Source Files" FILES ${UNIT_TESTS_SOURCE_FILES})
source_group("Source Files\\tests" FILES ${UNIT_TESTS_TESTS_SOURCE_FILES})

if(CASS_USE_OPENSSL AND WIN32 AND (NOT CASS_OPENSSL_APPLINK STREQUAL ""))
# Allow user to specify the location of applink.c. Some Windows builds require this as an
# interface into OpenSSL BIO ops. See https://docs.openssl.org/1.1.1/man3/OPENSSL_Applink/
list(APPEND UNIT_TESTS_SOURCE_FILES "${CASS_OPENSSL_APPLINK}")
endif()

add_executable(cassandra-unit-tests
${MINIZIP_SOURCE_FILES}
${UNIT_TESTS_SOURCE_FILES}
Expand Down

0 comments on commit c975465

Please sign in to comment.