Skip to content

refactor: Break down long Python files into modular components #120

refactor: Break down long Python files into modular components

refactor: Break down long Python files into modular components #120

Workflow file for this run

name: CI Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-14]
python-version: ['3.9', '3.10', '3.11', '3.12']
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install flake8 black pytest
- name: Lint with flake8
run: |
flake8 .conductor/scripts/ setup.py --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 .conductor/scripts/ setup.py --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics
- name: Format check with black
run: black --check .conductor/scripts/ setup.py
- name: Run tests
run: |
# Run basic tests
python -m pytest tests/ -v
# Also run the test file directly
python tests/test_basic.py
- name: Validate setup.py
run: |
python setup.py --help
# Test that setup.py can be imported without errors
python -c "import setup; print('Setup module imported successfully')"
- name: Test install script
run: |
# Test that install script is executable and has correct syntax
bash -n install.sh
echo "Install script syntax is valid"
security:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install safety
run: pip install safety
- name: Scan for security vulnerabilities
env:
SAFETY_API_KEY: ${{ secrets.SAFETY_API_KEY }}
run: |
if [ -f "requirements.txt" ]; then
safety scan -r requirements.txt
else
echo "No requirements.txt found, skipping security check"
fi