Skip to content

fix mac installer aws dependencies #116

fix mac installer aws dependencies

fix mac installer aws dependencies #116

Workflow file for this run

name: Release Draft
# This workflow is triggered on creating tags
on:
push:
tags:
- "*.*.*"
workflow_dispatch:
env:
BUILD_TYPE: Release
jobs:
build-mac:
name: macOS
runs-on: macos-11
env:
CMAKE_GENERATOR: Unix Makefiles
MYSQL_DIR: /usr/local/opt/mysql-client
ODBC_DM_INCLUDES: /usr/local/include
steps:
- name: Checkout source code
uses: actions/checkout@v2
# Configure build environment/dependencies
# Removing some /usr/local/bin files to avoid symlink issues wih brew update
- name: Install MySQL client libs & other dependencies
run: |
rm '/usr/local/bin/2to3'
rm '/usr/local/bin/2to3-3.11'
rm '/usr/local/bin/idle3'
rm '/usr/local/bin/idle3.11'
rm '/usr/local/bin/pydoc3'
rm '/usr/local/bin/pydoc3.11'
rm '/usr/local/bin/python3'
rm '/usr/local/bin/python3-config'
rm '/usr/local/bin/python3.11'
rm '/usr/local/bin/python3.11-config'
brew update
brew unlink unixodbc
brew install libiodbc mysql-client
brew link --overwrite --force libiodbc
- name: Build and install AWS SDK C++
working-directory: ./scripts
run: |
./build_aws_sdk_unix.sh $BUILD_TYPE
- name: Create build environment
run: cmake -E make_directory ${{ github.workspace }}/build
- name: Configure CMake
run: cmake -S . -B build
-G "$CMAKE_GENERATOR"
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
-DMYSQLCLIENT_STATIC_LINKING=true
-DODBC_INCLUDES=$ODBC_DM_INCLUDES
-DCONNECTOR_PLATFORM=macos
-DBUNDLE_DEPENDENCIES=true
- name: Build driver
working-directory: ${{ github.workspace }}/build
run: |
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
cmake --build .
- name: Build installer
working-directory: ${{ github.workspace }}/build
if: success()
run: cpack .
- name: Upload macOS installer as artifact
if: success()
uses: actions/upload-artifact@v3
with:
name: installers
path: ${{ github.workspace }}/build/aws-mysql-odbc-*.pkg
if-no-files-found: error
build-linux:
name: Linux
runs-on: ubuntu-20.04
env:
CMAKE_GENERATOR: Unix Makefiles
steps:
- name: Checkout source code
uses: actions/checkout@v2
# Configure build environment/dependencies
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install
build-essential
libgtk-3-dev
unixodbc
unixodbc-dev
libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies
- name: Install MySQL client libs and include files
run: |
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.12-x86_64.tar.xz -o mysql.tar.gz
tar xf mysql.tar.gz
- name: Build and install AWS SDK C++
working-directory: ./scripts
run: |
./build_aws_sdk_unix.sh $BUILD_TYPE
- name: Create build environment
shell: bash
run: cmake -E make_directory ${{ github.workspace }}/build
- name: Configure CMake
shell: bash
run: cmake -S . -B build
-G "$CMAKE_GENERATOR"
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
-DMYSQLCLIENT_STATIC_LINKING=true
-DWITH_UNIXODBC=1
-DCONNECTOR_PLATFORM=linux
-DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.12-x86_64/
-DBUNDLE_DEPENDENCIES=true
# Build driver
- name: Build driver
working-directory: ${{ github.workspace }}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE
- name: Build installer
working-directory: ${{ github.workspace }}/build
if: success()
run: cpack .
- name: Upload Linux installer as artifact
if: success()
uses: actions/upload-artifact@v3
with:
name: installers
path: ${{ github.workspace }}/build/aws-mysql-odbc-*.tar.gz
if-no-files-found: error
build-windows:
name: Windows
runs-on: windows-2019
env:
CMAKE_GENERATOR: Visual Studio 16 2019
steps:
- name: Checkout source code
uses: actions/checkout@v2
# Configure build environment/dependencies
- name: Install MySQL client libs
run: |
curl -L https://cdn.mysql.com/archives/mysql-8.0/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
unzip -d C:/ mysql.zip
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1
- name: Build and install AWS SDK C++
working-directory: ./scripts
run: |
.\build_aws_sdk_win.ps1 x64 ${{ env.BUILD_TYPE}} ON "${{env.CMAKE_GENERATOR}}"
- name: Setup nmake
uses: ilammy/msvc-dev-cmd@v1
- name: Run build installer script
run: |
.\build_installer.ps1 x64 ${{ env.BUILD_TYPE}} "${{env.CMAKE_GENERATOR}}" C:/mysql-${{ vars.MYSQL_VERSION }}-winx64
- name: Upload Windows installer as artifact
if: success()
uses: actions/upload-artifact@v3
with:
name: installers
path: ${{ github.workspace }}/wix/*.msi
if-no-files-found: error
draft-release:
name: Create Draft Release
runs-on: ubuntu-20.04
needs: [build-mac, build-linux, build-windows]
steps:
- name: Download all installers
uses: actions/download-artifact@v3
with:
name: installers
# Get tag version for release
- name: Set Version Env Variable
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Upload to Draft Release
uses: ncipollo/release-action@v1
with:
draft: true
name: "AWS ODBC Driver for MySQL - v${{ env.RELEASE_VERSION }}"
artifacts: "./*.pkg, ./*.tar.gz, ./*.msi"
token: ${{ secrets.GITHUB_TOKEN }}