# This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: Build on: push: branches: ['main'] paths: - 'autogen/**' - 'test/**' - '.github/workflows/build.yml' - 'setup.py' pull_request: branches: ['main'] merge_group: types: [checks_requested] concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] python-version: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install packages and dependencies run: | python -m pip install --upgrade pip wheel pip install -e . python -c "import autogen" pip install -e.[mathchat,retrievechat,test] datasets pytest pip uninstall -y openai - name: Test with pytest if: matrix.python-version != '3.10' run: | pytest test - name: Coverage if: matrix.python-version == '3.10' run: | pip install coverage coverage run -a -m pytest test coverage xml - name: Upload coverage to Codecov if: matrix.python-version == '3.10' uses: codecov/codecov-action@v3 with: file: ./coverage.xml flags: unittests