From 7ae4ffc5a3d97978d93f06e7ed42e4fdfcb43127 Mon Sep 17 00:00:00 2001 From: Kuntal Ghosh Date: Tue, 20 Dec 2022 01:45:23 +0530 Subject: [PATCH] Fix os and pyodbc versions for github action (#950) The Github Actions for Python Framework and Upgrade Validation framework started Failing Due to new release of Pyodbc. There is a diff in expected output file due to this version Change More details about the issue can be found here - mkleehammer/pyodbc#1082 We're running the github actions on ubuntu-latest. Previously, it was ubuntu-20.04, but in any recently created fork, it's pointing to ubuntu-22.04. This is causing dependency/build failure in the github actions running in the fork. So, let's fix the os version. Task: BABEL-OSS Authored-by: Kuntal Ghosh --- .github/workflows/ci.yml | 2 +- .github/workflows/dotnet-framework.yml | 2 +- .github/workflows/odbc-framework.yml | 2 +- .github/workflows/python-framework.yml | 5 +++-- test/python/expected/pyodbc/TestAuth.out | 12 ++++++------ 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f74e54c51..d4b0e153e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: extension-tests: name: Build and test - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Clone, build, and run tests for Postgres engine diff --git a/.github/workflows/dotnet-framework.yml b/.github/workflows/dotnet-framework.yml index 3f47bd0198..4a39f35f04 100644 --- a/.github/workflows/dotnet-framework.yml +++ b/.github/workflows/dotnet-framework.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: dotnet: name: Dotnet - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Clone, build, and run tests for Postgres engine diff --git a/.github/workflows/odbc-framework.yml b/.github/workflows/odbc-framework.yml index 3952fb2086..9657fa8768 100644 --- a/.github/workflows/odbc-framework.yml +++ b/.github/workflows/odbc-framework.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: odbc: name: ODBC - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Clone, build, and run tests for Postgres engine diff --git a/.github/workflows/python-framework.yml b/.github/workflows/python-framework.yml index 453c20828a..6707f64ca7 100644 --- a/.github/workflows/python-framework.yml +++ b/.github/workflows/python-framework.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: python: name: Python - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Clone, build, and run tests for Postgres engine @@ -76,7 +76,7 @@ jobs: curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list cd ~/work/babelfish_extensions/babelfish_extensions/test/python sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 python3-dev - pip3 install pyodbc pymssql pytest pytest-xdist + pip3 install pyodbc==4.0.35 pymssql pytest pytest-xdist - name: Run Python tests run: | cd test/python @@ -90,4 +90,5 @@ jobs: fileGenerator_databaseName=master \ fileGenerator_user=python_user \ fileGenerator_password=12345678 \ + LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/odbc/ \ pytest -s --tb=long -q . diff --git a/test/python/expected/pyodbc/TestAuth.out b/test/python/expected/pyodbc/TestAuth.out index 8125850a7b..3e00aef7f5 100644 --- a/test/python/expected/pyodbc/TestAuth.out +++ b/test/python/expected/pyodbc/TestAuth.out @@ -1,26 +1,26 @@ #database name, username and password should not exceed 128 characters py_auth#!#database|-|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 ~~ERROR (Code: 3701)~~ -~~ERROR (Message: [42S02] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]database "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" does not exist (3701) (SQLDriverConnect))~~ +~~ERROR (Message: [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]database "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" does not exist (3701) (SQLDriverConnect))~~ py_auth#!#database|-|111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112 ~~ERROR (Code: 0)~~ -~~ERROR (Message: [08001] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Invalid value specified for connection string attribute 'DATABASE' (0) (SQLDriverConnect))~~ +~~ERROR (Message: [08001] [Microsoft][ODBC Driver 17 for SQL Server]Invalid value specified for connection string attribute 'DATABASE' (0) (SQLDriverConnect))~~ py_auth#!#user|-|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 ~~ERROR (Code: 33557097)~~ -~~ERROR (Message: [42000] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]role "111111111111111111111111111111111111111111111111111111111111111" does not exist (33557097) (SQLDriverConnect))~~ +~~ERROR (Message: [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]role "111111111111111111111111111111111111111111111111111111111111111" does not exist (33557097) (SQLDriverConnect))~~ py_auth#!#user|-|111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112 ~~ERROR (Code: 0)~~ -~~ERROR (Message: [08001] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Invalid value specified for connection string attribute 'UID' (0) (SQLDriverConnect))~~ +~~ERROR (Message: [08001] [Microsoft][ODBC Driver 17 for SQL Server]Invalid value specified for connection string attribute 'UID' (0) (SQLDriverConnect))~~ #not sure why any password is accepted during authentication through cloud desktop #This test should throw error but from cloud desktop a connection is successfully established #py_auth#!#password|-|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 py_auth#!#password|-|111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112 ~~ERROR (Code: 0)~~ -~~ERROR (Message: [08001] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Invalid value specified for connection string attribute 'PWD' (0) (SQLDriverConnect))~~ +~~ERROR (Message: [08001] [Microsoft][ODBC Driver 17 for SQL Server]Invalid value specified for connection string attribute 'PWD' (0) (SQLDriverConnect))~~ py_auth#!#others|-|packetSize=0 ~~SUCCESS~~ @@ -30,5 +30,5 @@ py_auth#!#others|-|packetSize=4096 ~~SUCCESS~~ py_auth#!#database|-|test1 SELECT 1 ~~ERROR (Code: 3701)~~ -~~ERROR (Message: [42S02] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]database "test1 select 1" does not exist (3701) (SQLDriverConnect))~~ +~~ERROR (Message: [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]database "test1 select 1" does not exist (3701) (SQLDriverConnect))~~