Skip to content

Commit 137943c

Browse files
author
Bruce Irschick
authored
[AD-912] Add platform, bitness and version to driver artifact(s) (#123)
* [AD-912] Test if 32-bit and 64-bit artefacts are created. * [AD-912] Set artifact logic when push to develop branch. * [AD-912] Test adding version to artifacts and setting for the library properties. * [AD-912] Propagate ODBC_DRIVER_VERSION to all builds. * [AD-912] Fix 'if' statements with environment variables. * [AD-912] Now source the driver version from the ODBC_DRIVER_VERSION.txt file. * [AD-912] Fix updating the environment in workflow. * [AD-912] Fix updating the environment in workflow. * [AD-912] Fix updating the environment in workflow. * [AD-912] Fixed updating the environment in workflow. * [AD-912] Set the criteria for uploading artifacts to production mode.
1 parent 8b0bd17 commit 137943c

File tree

3 files changed

+36
-5
lines changed

3 files changed

+36
-5
lines changed

.github/workflows/win-build.yml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ env:
3131
DOC_DB_LOG_LEVEL: "debug"
3232
JDBC_DRIVER_VERSION: "1.3.1"
3333
MONGO_IMPORT_COMMAND: "mongoimport.exe"
34+
# Artifacts are created when pushing to develop branch on merge of pull requests.
35+
SHOULD_CREATE_ARTIFACTS: ${{ github.event_name == 'push' && github.ref == 'refs/heads/develop' }}
3436

3537
jobs:
3638
build-windows32:
@@ -54,6 +56,11 @@ jobs:
5456
# with:
5557
# name: cppcheck-results
5658
# path: cppcheck-results.log
59+
- name: Update environment with ODBC_DRIVER_VERSION
60+
shell: pwsh
61+
run: |
62+
Get-Content ./src/ODBC_DRIVER_VERSION.txt | ForEach-Object { echo "ODBC_DRIVER_VERSION=$_"; break; } >> $env:GITHUB_ENV
63+
5764
- name: Get Java distribution
5865
uses: actions/setup-java@v2
5966
with:
@@ -122,6 +129,20 @@ jobs:
122129
env:
123130
OPENSSL_ROOT_DIR: '${{ env.VCPKG_ROOT }}/packages/openssl_x86-windows'
124131

132+
- name: Upload ODBC driver build at push to develop
133+
if: ${{env.SHOULD_CREATE_ARTIFACTS == 'true'}}
134+
uses: actions/upload-artifact@v3
135+
with:
136+
name: docdb-odbc-driver-win32-${{env.ODBC_DRIVER_VERSION}}
137+
path: build/odbc/cmake/Release
138+
139+
- name: Upload performance test at push to develop
140+
if: ${{env.SHOULD_CREATE_ARTIFACTS == 'true'}}
141+
uses: actions/upload-artifact@v3
142+
with:
143+
name: performance-win32-${{env.ODBC_DRIVER_VERSION}}
144+
path: build/odbc/bin/Release/performance.exe
145+
125146
- name: register-driver
126147
run: |
127148
.\src\odbc\install\install_amd64.cmd ${{env.ODBC_BIN_PATH}}\documentdb.odbc.dll ${{env.ODBC_BIN_PATH}}\documentdb.odbc.dll
@@ -203,6 +224,11 @@ jobs:
203224
# with:
204225
# name: cppcheck-results
205226
# path: cppcheck-results.log
227+
- name: Update environment with ODBC_DRIVER_VERSION
228+
shell: pwsh
229+
run: |
230+
Get-Content ./src/ODBC_DRIVER_VERSION.txt | ForEach-Object { echo "ODBC_DRIVER_VERSION=$_"; break; } >> $env:GITHUB_ENV
231+
206232
- name: Get Java distribution
207233
uses: actions/setup-java@v2
208234
with:
@@ -271,17 +297,17 @@ jobs:
271297
OPENSSL_ROOT_DIR: '${{env.VCPKG_ROOT}}/packages/openssl_x64-windows'
272298

273299
- name: Upload ODBC driver build at push to develop
274-
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/develop' }}
300+
if: ${{env.SHOULD_CREATE_ARTIFACTS == 'true'}}
275301
uses: actions/upload-artifact@v3
276302
with:
277-
name: docdb-odbc-driver
303+
name: docdb-odbc-driver-amd64-${{env.ODBC_DRIVER_VERSION}}
278304
path: build/odbc/cmake/Release
279305

280306
- name: Upload performance test at push to develop
281-
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/develop' }}
307+
if: ${{env.SHOULD_CREATE_ARTIFACTS == 'true'}}
282308
uses: actions/upload-artifact@v3
283309
with:
284-
name: performance
310+
name: performance-amd64-${{env.ODBC_DRIVER_VERSION}}
285311
path: build/odbc/bin/Release/performance.exe
286312

287313
- name: register-driver

src/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616
#
1717

1818
cmake_minimum_required(VERSION 3.20)
19-
project(DocumentDB-ODBC.C++ VERSION 0.1.0)
19+
20+
# Update version number in ODBC_DRIVER_VERSION.txt file.
21+
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/ODBC_DRIVER_VERSION.txt" ODBC_DRIVER_VERSION)
22+
project(DocumentDB-ODBC.C++ VERSION ${ODBC_DRIVER_VERSION})
2023

2124
include("${CMAKE_CURRENT_SOURCE_DIR}/modules/code-coverage.cmake")
2225
if (NOT "$ENV{BOOST_ROOT}" STREQUAL "")
@@ -90,5 +93,6 @@ if (${WITH_ODBC})
9093

9194
if (${WITH_TESTS} AND EXISTS ${CMAKE_SOURCE_DIR}/odbc-test)
9295
add_subdirectory(odbc-test)
96+
add_dependencies(documentdb-odbc-tests documentdb-odbc)
9397
endif()
9498
endif()

src/ODBC_DRIVER_VERSION.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.1.0

0 commit comments

Comments
 (0)