api-tests.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. name: Run Pytest
  2. on:
  3. pull_request:
  4. branches:
  5. - main
  6. jobs:
  7. test:
  8. runs-on: ubuntu-latest
  9. strategy:
  10. matrix:
  11. python-version:
  12. - "3.10"
  13. - "3.11"
  14. env:
  15. OPENAI_API_KEY: sk-IamNotARealKeyJustForMockTestKawaiiiiiiiiii
  16. AZURE_OPENAI_API_BASE: https://difyai-openai.openai.azure.com
  17. AZURE_OPENAI_API_KEY: xxxxb1707exxxxxxxxxxaaxxxxxf94
  18. ANTHROPIC_API_KEY: sk-ant-api11-IamNotARealKeyJustForMockTestKawaiiiiiiiiii-NotBaka-ASkksz
  19. CHATGLM_API_BASE: http://a.abc.com:11451
  20. XINFERENCE_SERVER_URL: http://a.abc.com:11451
  21. XINFERENCE_GENERATION_MODEL_UID: generate
  22. XINFERENCE_CHAT_MODEL_UID: chat
  23. XINFERENCE_EMBEDDINGS_MODEL_UID: embedding
  24. XINFERENCE_RERANK_MODEL_UID: rerank
  25. GOOGLE_API_KEY: abcdefghijklmnopqrstuvwxyz
  26. HUGGINGFACE_API_KEY: hf-awuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwu
  27. HUGGINGFACE_TEXT_GEN_ENDPOINT_URL: a
  28. HUGGINGFACE_TEXT2TEXT_GEN_ENDPOINT_URL: b
  29. HUGGINGFACE_EMBEDDINGS_ENDPOINT_URL: c
  30. MOCK_SWITCH: true
  31. CODE_MAX_STRING_LENGTH: 80000
  32. steps:
  33. - name: Checkout code
  34. uses: actions/checkout@v4
  35. - name: Set up Python ${{ matrix.python-version }}
  36. uses: actions/setup-python@v5
  37. with:
  38. python-version: ${{ matrix.python-version }}
  39. cache: 'pip'
  40. cache-dependency-path: |
  41. ./api/requirements.txt
  42. ./api/requirements-dev.txt
  43. - name: Install dependencies
  44. run: pip install -r ./api/requirements.txt -r ./api/requirements-dev.txt
  45. - name: Run Unit tests
  46. run: dev/pytest/pytest_unit_tests.sh
  47. - name: Run ModelRuntime
  48. run: dev/pytest/pytest_model_runtime.sh
  49. - name: Run Tool
  50. run: dev/pytest/pytest_tools.sh
  51. - name: Run Workflow
  52. run: dev/pytest/pytest_workflow.sh
  53. - name: Set up Vector Stores (Weaviate, Qdrant and Milvus)
  54. uses: hoverkraft-tech/compose-action@v2.0.0
  55. with:
  56. compose-file: |
  57. docker/docker-compose.middleware.yaml
  58. docker/docker-compose.qdrant.yaml
  59. docker/docker-compose.milvus.yaml
  60. services: |
  61. weaviate
  62. qdrant
  63. etcd
  64. minio
  65. milvus-standalone
  66. - name: Test Vector Stores
  67. run: dev/pytest/pytest_vdb.sh