name: Build Test on: push: branches: [main, develop] workflow_run: workflows: ["Deploy Development", "Deploy Production"] types: [completed] jobs: pytest-backend-csv: if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: # Debian 12 ARM64 runner hat fuer 3.12 oft kein setup-python Build. # 3.11 ist dort breit verfuegbar und fuer unsere Tests ausreichend. python-version: "3.11" - name: Install dependencies run: | pip install -r backend/requirements.txt -r backend/requirements-dev.txt - name: Pytest — CSV-Import & Parser (Smoke) run: | cd backend python -m pytest tests/test_csv_parser_core.py tests/test_csv_import_executor.py tests/test_mapping_suggest.py -q --tb=short lint-backend: if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Check backend syntax run: | python -m py_compile backend/main.py echo "✓ Backend syntax OK" build-frontend: if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "20" - name: Build frontend run: | cd frontend npm install npm run build echo "✓ Frontend build OK"