fix(install scripts): use ODBC 18 for MSSQL and fix Oracle installation #4935
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
# Trigger analysis when pushing in master or pull requests, and when creating | |
# a pull request. | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
run: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.11', '3.12'] | |
pandas-version: ['<2','>=2'] | |
# Pandas<2 is not supported on Python 3.12 | |
exclude: | |
- python-version: '3.12' | |
pandas-version: '<2' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Disabling shallow clone is recommended for improving relevancy of sonar reporting | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install freetds-dev libsasl2-dev libpq-dev | |
pip install -U poetry | |
- name: Install oracle dependencies | |
run: sudo bash toucan_connectors/install_scripts/oracle.sh | |
- name: Install databricks dependencies | |
run: sudo bash toucan_connectors/install_scripts/databricks.sh | |
- name: Install mssql dependencies | |
run: sudo bash toucan_connectors/install_scripts/mssql.sh | |
- name: Install mssql_TLSv1_0 dependencies | |
run: sudo bash toucan_connectors/install_scripts/mssql_TLSv1_0.sh | |
- name: Install odbc dependencies | |
run: sudo bash toucan_connectors/install_scripts/odbc.sh | |
- name: Install | |
run: make install | |
- name: Install pandas ${{ matrix.pandas-version }} | |
run: poetry run pip install "pandas${{ matrix.pandas-version }}" | |
- name: Lint | |
run: make lint | |
- name: Cache docker images | |
id: cache-docker-images | |
uses: actions/cache@v4 | |
with: | |
path: /var/lib/docker/overlay2 | |
key: ${{ runner.os }}-docker-images | |
- name: Pulling all docker images | |
run: docker compose -f tests/docker-compose.yml pull | |
- name: test | |
run: make test | |
env: | |
BEARER_API_KEY: ${{ secrets.BEARER_API_KEY }} | |
BEARER_AIRCALL_AUTH_ID: ${{ secrets.BEARER_AIRCALL_AUTH_ID }} | |
# Athena | |
ATHENA_OUTPUT: '${{ secrets.ATHENA_OUTPUT }}' | |
ATHENA_DATABASE: '${{ secrets.ATHENA_DATABASE }}' | |
ATHENA_ACCESS_KEY_ID: '${{ secrets.ATHENA_ACCESS_KEY_ID }}' | |
ATHENA_SECRET_ACCESS_KEY: '${{ secrets.ATHENA_SECRET_ACCESS_KEY }}' | |
ATHENA_REGION: '${{ secrets.ATHENA_REGION }}' | |
# GBQ | |
GOOGLE_BIG_QUERY_CREDENTIALS: '${{ secrets.GOOGLE_BIG_QUERY_CREDENTIALS }}' | |
# Azure MSSQL | |
AZURE_MSSQL_USER: '${{ secrets.AZURE_MSSQL_USER }}' | |
AZURE_MSSQL_PASSWORD: '${{ secrets.AZURE_MSSQL_PASSWORD }}' | |
AZURE_MSSQL_HOST: '${{ secrets.AZURE_MSSQL_HOST }}' | |
AZURE_MSSQL_DATABASE: '${{ secrets.AZURE_MSSQL_DATABASE }}' | |
- name: SonarCloud Scan | |
# Only executed for one of the tested python version and pandas version | |
if: ${{ always() && matrix['python-version'] == 3.11 && matrix['pandas-version'] == '<2' }} | |
uses: sonarsource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |