Spaces:
Paused
Paused
| name: Unit Tests | |
| on: | |
| pull_request_target: | |
| push: | |
| branches: | |
| - 'main' | |
| - 'dev' | |
| - '*-release' | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| # python-version: ['3.9', '3.10', '3.11'] | |
| python-version: ['3.9'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e .[test] | |
| npm install -g @mermaid-js/mermaid-cli | |
| playwright install --with-deps | |
| - name: Test with pytest | |
| run: | | |
| export ALLOW_OPENAI_API_CALL=0 | |
| mkdir -p ~/.metagpt && cp tests/config2.yaml ~/.metagpt/config2.yaml | |
| pytest | tee unittest.txt | |
| - name: Show coverage report | |
| run: | | |
| coverage report -m | |
| - name: Show failed tests and overall summary | |
| run: | | |
| grep -E "FAILED tests|ERROR tests|[0-9]+ passed," unittest.txt | |
| failed_count=$(grep -E "FAILED tests|ERROR tests" unittest.txt | wc -l | tr -d '[:space:]') | |
| if [[ $failed_count -gt 0 ]]; then | |
| echo "$failed_count failed lines found! Task failed." | |
| exit 1 | |
| fi | |
| - name: Upload pytest test results | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: pytest-results-${{ matrix.python-version }} | |
| path: | | |
| ./unittest.txt | |
| ./htmlcov/ | |
| ./tests/data/rsp_cache_new.json | |
| retention-days: 3 | |
| if: ${{ always() }} | |