diff --git a/.github/workflows/python-versions-test.yml b/.github/workflows/python-versions-test.yml new file mode 100644 index 00000000000..dbadd641e94 --- /dev/null +++ b/.github/workflows/python-versions-test.yml @@ -0,0 +1,49 @@ +name: Test Multiple Python Versions + +on: + push: + branches: + - master + paths-ignore: + - 'README.md' + - 'changelogs/**' + - 'dashboard/**' + pull_request: + workflow_dispatch: + +jobs: + test: + name: Test Python ${{ matrix.python-version }} + runs-on: ubuntu-latest + permissions: + contents: read + strategy: + fail-fast: false + matrix: + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14-dev'] + + steps: + - name: Checkout + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pytest pytest-asyncio pytest-cov + pip install --editable . + + - name: Run tests + run: | + mkdir -p data/plugins + mkdir -p data/config + mkdir -p data/temp + export TESTING=true + export ZHIPU_API_KEY=${{ secrets.OPENAI_API_KEY }} + pytest --cov=. -v -o log_cli=true -o log_level=DEBUG