diff --git a/.github/workflows/release-workflow.yml b/.github/workflows/release-workflow.yml new file mode 100644 index 00000000..965e1fe6 --- /dev/null +++ b/.github/workflows/release-workflow.yml @@ -0,0 +1,147 @@ +name: Build and Release SQL-ODBC +# This workflow is triggered on creating tags to master or an opendistro release branch +on: + push: + tags: + - 'v*' + +jobs: + build-mac: + runs-on: macos-latest + steps: + - uses: actions/checkout@v1 + - name: run-cppcheck + run: | + brew install cppcheck + sh run_cppcheck.sh + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + - name: upload-cppcheck-results + if: failure() + uses: actions/upload-artifact@v1 + with: + name: cppcheck-results + path: cppcheck-results.log + - name: get-dependencies + run: | + brew unlink unixodbc + brew install curl + brew install cmake + brew install libiodbc + - name: aws-sdk-cpp-setup + run: | + sh aws_sdk_cpp_setup.sh + - name: configure + run: | + prefix_path=$(pwd) + mkdir cmake-build + cd cmake-build + cmake ../src -DCMAKE_INSTALL_PREFIX=$prefix_path/AWSSDK/ -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="core" -DCUSTOM_MEMORY_MANAGEMENT="OFF" -DENABLE_RTTI="OFF" -DENABLE_TESTING="OFF" + cd .. + - name: build-driver + run: | + cmake --build cmake-build + - name: build-installer + if: success() + run: | + cd cmake-build + cmake ../src + make + cpack . + cd .. + - name: create-output + if: success() + run: | + mkdir build + mkdir test-output + mkdir installer + cp ./lib64/*.dylib build + cp ./lib64/*.a build + cp $(ls -d bin64/* | grep -v "\.") build + cp ./cmake-build/*.pkg installer + - name: upload-build + if: success() + uses: actions/upload-artifact@v1 + with: + name: mac-build + path: build + - name: upload-installer + if: success() + uses: actions/upload-artifact@v1 + with: + name: mac-installer + path: installer + - name: upload-artifacts-s3 + if: success() + run: | + cd installer + mac_installer=`ls -1t *.pkg | grep "ODFE SQL ODBC Driver" | head -1` + echo $mac_installer + aws s3 cp "$mac_installer" s3://artifacts.opendistroforelasticsearch.amazon.com/downloads/elasticsearch-clients/opendistro-sql-odbc/mac/ + + build-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + - name: add-msbuild-to-path + uses: microsoft/setup-msbuild@v1.0.0 + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + - name: aws-sdk-cpp-setup + run: | + .\aws_sdk_cpp_setup.ps1 + - name: configure + run: | + $prefix_path = (pwd).path + mkdir cmake-build + cd cmake-build + cmake ..\\src -D CMAKE_INSTALL_PREFIX=$prefix_path\AWSSDK\ + cd .. + - name: build-driver + run: | + cmake --build cmake-build --config Release + - name: build-installer + if: success() + run: | + cd cmake-build + cmake ..\\src -D CMAKE_INSTALL_PREFIX=$prefix_path\AWSSDK\ -D BUILD_WITH_TESTS=OFF + msbuild .\PACKAGE.vcxproj -p:Configuration=Release + cd .. + - name: create-output + if: always() + run: | + mkdir build + mkdir test-output + mkdir installer + cp .\\bin64\\Release\\*.dll build + cp .\\bin64\\Release\\*.exe build + cp .\\lib64\\Release\\*.lib build + cp .\\cmake-build\\*.msi installer + - name: upload-build + if: always() + uses: actions/upload-artifact@v1 + with: + name: windows-build + path: build + - name: upload-installer + if: always() + uses: actions/upload-artifact@v1 + with: + name: windows-installer + path: installer + - name: upload-artifacts-s3 + if: success() + shell: bash + run: | + cd installer + windows_installer=`ls -1t *.msi | grep "ODFE SQL ODBC Driver" | head -1` + echo $windows_installer + aws s3 cp "$windows_installer" s3://artifacts.opendistroforelasticsearch.amazon.com/downloads/elasticsearch-clients/opendistro-sql-odbc/windows/ diff --git a/opendistro-elasticsearch-odbc.release-notes.md b/opendistro-elasticsearch-odbc.release-notes.md new file mode 100644 index 00000000..070d15b3 --- /dev/null +++ b/opendistro-elasticsearch-odbc.release-notes.md @@ -0,0 +1,13 @@ +## 2020-05-05, Version 1.7 + +### Notable Changes + +This is the first release of OpenDistro For ELasticsearch ODBC driver. + +OpenDistro ODBC provides a driver for ODBC connectivity for OpenDistro SQL plugin. The driver has been developed from scratch and offers the following features in this initial release: + +* ODBC API implementation as per ODBC 3.51 specifications +* Support for MacOS and Windows installers +* Support for HTTP BASIC and AWS SIGV4 authentication mechanisms +* Full support for Elasticsearch Datatypes: BOOLEAN, BYTE, SHORT, INTEGER, LONG, HALF_FLOAT, FLOAT, DOUBLE, SCALED_FLOAT, KEYWORD, TEXT + diff --git a/release-notes/sql-odbc.release-notes-1.7.0.0.md b/release-notes/sql-odbc.release-notes-1.7.0.0.md new file mode 100644 index 00000000..d364e473 --- /dev/null +++ b/release-notes/sql-odbc.release-notes-1.7.0.0.md @@ -0,0 +1,48 @@ +## 2020-05-05, Version 1.7 + +This is the first release of OpenDistro For ELasticsearch ODBC driver. + +OpenDistro ODBC provides a driver for ODBC connectivity for OpenDistro SQL plugin. The driver has been developed from scratch and offers the following features in this initial release: + +* ODBC API implementation as per ODBC 3.51 specifications +* Support for MacOS and Windows installers +* Support for HTTP BASIC and AWS SIGV4 authentication mechanisms +* Full support for Elasticsearch Datatypes: BOOLEAN, BYTE, SHORT, INTEGER, LONG, HALF_FLOAT, FLOAT, DOUBLE, SCALED_FLOAT, KEYWORD, TEXT + +### Features + +* Feature[#7](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/7): Add support for connection string abbreviations + +* Feature[#2](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/2): Connection string refactoring and registry updates + +* Feature[#27](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/27): Simple Windows Installer + + +* Feature[#78](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/78): Add fetch_size for pagination support + + +### Documentation + +* [Pagination support design document](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/40) +* [Update README for authentication & encryption configuration options](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/33) +* [Instructions for signing installers](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/84) + + + +### BugFixes + +* [Fix AWS authentication for Tableau on Mac](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/9) + +* [Mac installer fixes](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/73) + + +* [Fix General installer components](https://github.com/opendistro-for-elasticsearch/sql-odbc/pull/69) + + + + + + + + + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4003840d..7303f727 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,8 +70,8 @@ set(INSTALL_SRC "${CMAKE_CURRENT_SOURCE_DIR}/installer") set(DSN_INSTALLER_SRC "${CMAKE_CURRENT_SOURCE_DIR}/DSNInstaller") # ODBC Driver version -set(DRIVER_PACKAGE_VERSION "0.2.0") -set(DRIVER_PACKAGE_VERSION_COMMA_SEPARATED "0,2,0") +set(DRIVER_PACKAGE_VERSION "1.7.0.0") +set(DRIVER_PACKAGE_VERSION_COMMA_SEPARATED "1,7,0,0") add_compile_definitions( ES_ODBC_VERSION="${DRIVER_PACKAGE_VERSION}" # Comma separated version is required for odbc administrator's driver file. ES_ODBC_DRVFILE_VERSION=${DRIVER_PACKAGE_VERSION_COMMA_SEPARATED} )