--- name: Python Validation on: push: branches: - master - automated-sync paths: - 'scripts/**/*.py' - 'requirements.txt' pull_request: branches: - master paths: - 'scripts/**/*.py' - 'requirements.txt' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: python_syntax: name: Validate Python Script Syntax runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.11' cache: 'pip' - name: Install dependencies run: | pip install -r requirements.txt - name: Validate Python files run: | shopt -s globstar for file in scripts/**/*.py; do if [ -f "$file" ]; then echo "Validating $file" python3 -m py_compile "$file" python3 "$file" --version 2>/dev/null || echo "File $file validated successfully" fi done