[Test/WIP] feat: check compatibility #4
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: Check Compatibility | |
on: [push, pull_request] | |
jobs: | |
test-integrations: | |
name: Install all packages | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- name: Create a combined requirements file | |
run: | | |
echo "Creating combined requirements file" | |
touch combined-requirements.txt | |
for dir in integrations/*; do | |
if [ -f "$dir/pyproject.toml" ]; then | |
echo "Processing $dir/pyproject.toml" | |
pip install tomli | |
python -c " | |
import tomli | |
with open('$dir/pyproject.toml', 'rb') as f: | |
data = tomli.load(f) | |
if 'dependencies' in data['project']: | |
deps = data['project']['dependencies'] | |
with open('combined-requirements.txt', 'a') as req_file: | |
for dep in deps: | |
req_file.write(dep + '\n') | |
" | |
fi | |
done | |
- name: Display combined requirements | |
run: cat combined-requirements.txt | |
- name: Install dependencies | |
run: | | |
echo "Installing combined dependencies" | |
pip install -r combined-requirements.txt | |
- name: Verify installations | |
run: | | |
for dir in integrations/*; do | |
if [ -f "$dir/pyproject.toml" ]; then | |
package_name=$(awk -F'[ ="]+' '$1 == "name" {print $2}' $dir/pyproject.toml) | |
python -c "import $package_name" || exit 1 | |
fi | |
done |