24
24
jobs :
25
25
build-windows :
26
26
name : Windows
27
- runs-on : windows-2019
27
+ runs-on : windows-latest
28
28
env :
29
- CMAKE_GENERATOR : Visual Studio 16 2019
29
+ CMAKE_GENERATOR : Visual Studio 17 2022
30
30
MYSQL_DIR : C:/mysql-${{ vars.MYSQL_VERSION }}-winx64
31
31
steps :
32
32
- name : Checkout source code
35
35
# Configure build environment/dependencies
36
36
- name : Install MySQL client libs and include files
37
37
run : |
38
- curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0 /mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
39
- curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0 /mysql-${{ vars.MYSQL_VERSION }}-winx64-debug-test.zip -o mysql-debug.zip
38
+ curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3 /mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
39
+ curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3 /mysql-${{ vars.MYSQL_VERSION }}-winx64-debug-test.zip -o mysql-debug.zip
40
40
unzip -d C:/ mysql.zip
41
41
mkdir C:/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug
42
42
unzip -d C:/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug mysql-debug.zip
@@ -120,94 +120,97 @@ jobs:
120
120
name : windows-failover-results
121
121
path : ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
122
122
123
- build-linux :
124
- name : Linux
125
- runs-on : ubuntu-20.04
126
- env :
127
- CMAKE_GENERATOR : Unix Makefiles
128
- CXX : g++-7
129
- steps :
130
- - name : Checkout source code
131
- uses : actions/checkout@v4
132
-
133
- - name : Install gcc7
134
- run : sudo apt install g++-7
135
-
136
- # Configure build environment/dependencies
137
- - name : Install MySQL client libs & other dependencies
138
- run : sudo apt-get update && sudo apt-get install
139
- build-essential
140
- libgtk-3-dev
141
- libmysqlclient-dev
142
- unixodbc
143
- unixodbc-dev
144
- libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies
145
-
146
- - name : Cache AWS SDK libraries
147
- id : cache-dynamic-aws-sdk
148
- uses : actions/cache@v4
149
- with :
150
- path : |
151
- aws_sdk
152
- key : ${{ runner.os }}-aws-sdk-dynamic-lib
153
-
154
- - name : Build and install AWS SDK C++
155
- working-directory : ./scripts
156
- if : steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'
157
- run : |
158
- ./build_aws_sdk_unix.sh $LINUX_BUILD_TYPE
159
-
160
- - name : Create build environment
161
- shell : bash
162
- run : cmake -E make_directory ${{ github.workspace }}/build
163
-
164
- - name : Configure CMake
165
- shell : bash
166
- run : cmake -S . -B build
167
- -G "$CMAKE_GENERATOR"
168
- -DCMAKE_BUILD_TYPE=$LINUX_BUILD_TYPE
169
- -DMYSQLCLIENT_STATIC_LINKING=true
170
- -DWITH_UNIXODBC=1
171
- -DENABLE_UNIT_TESTS=TRUE
172
- -DENABLE_INTEGRATION_TESTS=FALSE
173
-
174
- - name : copy AWS SDK libraries to driver library
175
- run : |
176
- cp ./aws_sdk/install/lib/*.so ./build/lib/
177
-
178
- # Build driver
179
- - name : Build driver
180
- working-directory : ${{ github.workspace }}/build
181
- shell : bash
182
- run : make -j4
183
-
184
-
185
- # Test driver
186
- - name : Run failover tests on Linux
187
- if : success()
188
- working-directory : ${{ github.workspace }}/build/unit_testing
189
- shell : bash
190
- run : ctest --output-on-failure
191
-
192
- # Upload artifacts
193
- - name : Upload build artifacts - Binaries
194
- if : always()
195
- uses : actions/upload-artifact@v4
196
- with :
197
- name : linux-failover-binaries
198
- path : ${{ github.workspace }}/build/bin/
199
- - name : Upload build artifacts - Libraries
200
- if : always()
201
- uses : actions/upload-artifact@v4
202
- with :
203
- name : linux-failover-libraries
204
- path : ${{ github.workspace }}/build/lib/
205
- - name : Upload test artifacts
206
- if : always()
207
- uses : actions/upload-artifact@v4
208
- with :
209
- name : linux-failover-results
210
- path : ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
123
+ # build-linux:
124
+ # name: Linux
125
+ # runs-on: ubuntu-latest
126
+ # env:
127
+ # CMAKE_GENERATOR: Unix Makefiles
128
+ # CXX: g++-11
129
+ # steps:
130
+ # - name: Checkout source code
131
+ # uses: actions/checkout@v4
132
+ #
133
+ # # Configure build environment/dependencies
134
+ # - name: Install build dependencies
135
+ # run: sudo apt-get update && sudo apt-get install
136
+ # g++-11
137
+ # build-essential
138
+ # libgtk-3-dev
139
+ # unixodbc
140
+ # unixodbc-dev
141
+ # libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies
142
+ #
143
+ # - name: Install MySQL client libs and include files
144
+ # run: |
145
+ # curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64.tar.xz -o mysql.tar.gz
146
+ # tar xf mysql.tar.gz
147
+ #
148
+ # - name: Cache AWS SDK libraries
149
+ # id: cache-dynamic-aws-sdk
150
+ # uses: actions/cache@v4
151
+ # with:
152
+ # path: |
153
+ # aws_sdk
154
+ # key: ${{ runner.os }}-aws-sdk-dynamic-lib
155
+ #
156
+ # - name: Build and install AWS SDK C++
157
+ # working-directory: ./scripts
158
+ # if: steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'
159
+ # run: |
160
+ # ./build_aws_sdk_unix.sh $LINUX_BUILD_TYPE
161
+ #
162
+ # - name: Create build environment
163
+ # shell: bash
164
+ # run: cmake -E make_directory ${{ github.workspace }}/build
165
+ #
166
+ # - name: Configure CMake
167
+ # shell: bash
168
+ # run: cmake -S . -B build
169
+ # -G "$CMAKE_GENERATOR"
170
+ # -DCMAKE_BUILD_TYPE=$LINUX_BUILD_TYPE
171
+ # -DMYSQLCLIENT_STATIC_LINKING=true
172
+ # -DWITH_UNIXODBC=1
173
+ # -DCONNECTOR_PLATFORM=linux
174
+ # -DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64/
175
+ # -DENABLE_UNIT_TESTS=TRUE
176
+ # -DENABLE_INTEGRATION_TESTS=FALSE
177
+ #
178
+ # - name: copy AWS SDK libraries to driver library
179
+ # run: |
180
+ # cp ./aws_sdk/install/lib/*.so ./build/lib/
181
+ #
182
+ # # Build driver
183
+ # - name: Build driver
184
+ # working-directory: ${{ github.workspace }}/build
185
+ # shell: bash
186
+ # run: make -j4
187
+ #
188
+ # # Test driver
189
+ # - name: Run failover tests on Linux
190
+ # if: success()
191
+ # working-directory: ${{ github.workspace }}/build/unit_testing
192
+ # shell: bash
193
+ # run: ctest --output-on-failure
194
+ #
195
+ # # Upload artifacts
196
+ # - name: Upload build artifacts - Binaries
197
+ # if: always()
198
+ # uses: actions/upload-artifact@v4
199
+ # with:
200
+ # name: linux-failover-binaries
201
+ # path: ${{ github.workspace }}/build/bin/
202
+ # - name: Upload build artifacts - Libraries
203
+ # if: always()
204
+ # uses: actions/upload-artifact@v2
205
+ # with:
206
+ # name: linux-failover-libraries
207
+ # path: ${{ github.workspace }}/build/lib/
208
+ # - name: Upload test artifacts
209
+ # if: always()
210
+ # uses: actions/upload-artifact@v2
211
+ # with:
212
+ # name: linux-failover-results
213
+ # path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
211
214
212
215
build-mac :
213
216
name : MacOS
@@ -239,15 +242,15 @@ jobs:
239
242
brew install libiodbc mysql-client
240
243
brew link --overwrite --force libiodbc
241
244
242
- brew install openssl@1.1
243
- rm -f /usr/local/lib/libssl.1.1 .dylib
244
- rm -f /usr/local/lib/libcrypto.1.1 .dylib
245
- ln -s /usr/local/opt/openssl@1.1 /lib/libssl.1.1 .dylib /usr/local/lib/
246
- ln -s /usr/local/opt/openssl@1.1 /lib/libcrypto.1.1 .dylib /usr/local/lib/
245
+ brew install openssl@3
246
+ rm -f /usr/local/lib/libssl.3 .dylib
247
+ rm -f /usr/local/lib/libcrypto.3 .dylib
248
+ ln -s /usr/local/opt/openssl@3 /lib/libssl.3 .dylib /usr/local/lib/
249
+ ln -s /usr/local/opt/openssl@3 /lib/libcrypto.3 .dylib /usr/local/lib/
247
250
248
251
source /Users/runner/.bash_profile
249
252
250
- curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0 /mysql-${{ vars.MYSQL_VERSION }}-macos13 -x86_64.tar.gz -o mysql.tar.gz
253
+ curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3 /mysql-${{ vars.MYSQL_VERSION }}-macos14 -x86_64.tar.gz -o mysql.tar.gz
251
254
tar -xzvf mysql.tar.gz
252
255
253
256
- name : Cache AWS SDK libraries
@@ -277,7 +280,7 @@ jobs:
277
280
-DODBC_INCLUDES=$ODBC_DM_INCLUDES
278
281
-DENABLE_UNIT_TESTS=TRUE
279
282
-DENABLE_INTEGRATION_TESTS=FALSE
280
- -DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-macos13 -x86_64
283
+ -DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-macos14 -x86_64
281
284
282
285
# Build driver
283
286
- name : Build driver
@@ -286,10 +289,10 @@ jobs:
286
289
run : |
287
290
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
288
291
cmake --build .
289
- ln -s /usr/local/opt/openssl@1.1 /lib/libssl.1.1 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
290
- ln -s /usr/local/opt/openssl@1.1 /lib/libssl.1.1 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
291
- ln -s /usr/local/opt/openssl@1.1 /lib/libcrypto.1.1 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
292
- ln -s /usr/local/opt/openssl@1.1 /lib/libcrypto.1.1 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
292
+ ln -s /usr/local/opt/openssl@3 /lib/libssl.3 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
293
+ ln -s /usr/local/opt/openssl@3 /lib/libssl.3 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
294
+ ln -s /usr/local/opt/openssl@3 /lib/libcrypto.3 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
295
+ ln -s /usr/local/opt/openssl@3 /lib/libcrypto.3 .dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
293
296
294
297
# Test driver
295
298
- name : Run driver tests
0 commit comments