Skip to content

Commit e98546e

Browse files
committed
fix(ci): improve dependency installation fallback for cx_Oracle
- Use explicit package list fallback instead of grep parsing - Ensure setuptools/wheel are installed before cx_Oracle build - Make dependency installation more resilient for optional packages
1 parent c628e34 commit e98546e

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ jobs:
8080
- name: Install dependencies
8181
run: |
8282
python -m pip install --upgrade pip setuptools wheel
83-
pip install -r requirements.txt || pip install --ignore-installed $(grep -v "^#" requirements.txt | grep -v "cx_Oracle" | tr '\n' ' ') || echo "Some optional dependencies failed to install"
83+
pip install -r requirements.txt || {
84+
echo "Some dependencies failed, trying without cx_Oracle (optional)..."
85+
pip install PyQt6 PyQt6-Charts psycopg2-binary pymysql aiosqlite pymongo redis pyodbc clickhouse-driver influxdb-client boto3 google-api-python-client google-auth-httplib2 google-auth-oauthlib cryptography pynacl python-dotenv schedule paramiko pandas numpy matplotlib Pillow ldap3 pyotp qrcode azure-identity azure-mgmt-sql pytest pytest-qt black flake8 mypy || echo "Dependency installation completed with some failures"
86+
}
8487
continue-on-error: true
8588

8689
- name: Install package in development mode
@@ -130,7 +133,10 @@ jobs:
130133
- name: Install dependencies
131134
run: |
132135
python -m pip install --upgrade pip setuptools wheel
133-
pip install -r requirements.txt || pip install --ignore-installed $(grep -v "^#" requirements.txt | grep -v "cx_Oracle" | tr '\n' ' ') || echo "Some optional dependencies failed to install"
136+
pip install -r requirements.txt || {
137+
echo "Some dependencies failed, trying without cx_Oracle (optional)..."
138+
pip install PyQt6 PyQt6-Charts psycopg2-binary pymysql aiosqlite pymongo redis pyodbc clickhouse-driver influxdb-client boto3 google-api-python-client google-auth-httplib2 google-auth-oauthlib cryptography pynacl python-dotenv schedule paramiko pandas numpy matplotlib Pillow ldap3 pyotp qrcode azure-identity azure-mgmt-sql || echo "Dependency installation completed with some failures"
139+
}
134140
pip install build
135141
continue-on-error: true
136142

.github/workflows/release.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ jobs:
3838
- name: Install dependencies
3939
run: |
4040
python -m pip install --upgrade pip setuptools wheel
41-
pip install -r requirements.txt || pip install --ignore-installed $(grep -v "^#" requirements.txt | grep -v "cx_Oracle" | tr '\n' ' ') || echo "Some optional dependencies failed to install"
41+
pip install -r requirements.txt || {
42+
echo "Some dependencies failed, trying without cx_Oracle (optional)..."
43+
pip install PyQt6 PyQt6-Charts psycopg2-binary pymysql aiosqlite pymongo redis pyodbc clickhouse-driver influxdb-client boto3 google-api-python-client google-auth-httplib2 google-auth-oauthlib cryptography pynacl python-dotenv schedule paramiko pandas numpy matplotlib Pillow ldap3 pyotp qrcode azure-identity azure-mgmt-sql || echo "Dependency installation completed with some failures"
44+
}
4245
pip install build
4346
continue-on-error: true
4447

0 commit comments

Comments
 (0)