api-tests.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 Weaviate
  36. uses: hoverkraft-tech/compose-action@v2.0.0
  37. with:
  38. compose-file: docker/docker-compose.middleware.yaml
  39. services: weaviate
  40. - name: Set up Qdrant
  41. uses: hoverkraft-tech/compose-action@v2.0.0
  42. with:
  43. compose-file: docker/docker-compose.qdrant.yaml
  44. services: qdrant
  45. - name: Set up Milvus
  46. uses: hoverkraft-tech/compose-action@v2.0.0
  47. with:
  48. compose-file: docker/docker-compose.milvus.yaml
  49. services: |
  50. etcd
  51. minio
  52. milvus-standalone
  53. - name: Set up Python ${{ matrix.python-version }}
  54. uses: actions/setup-python@v5
  55. with:
  56. python-version: ${{ matrix.python-version }}
  57. cache: 'pip'
  58. cache-dependency-path: |
  59. ./api/requirements.txt
  60. ./api/requirements-dev.txt
  61. - name: Install dependencies
  62. run: pip install -r ./api/requirements.txt -r ./api/requirements-dev.txt
  63. - name: Run Unit tests
  64. run: dev/pytest/pytest_unit_tests.sh
  65. - name: Run ModelRuntime
  66. run: dev/pytest/pytest_model_runtime.sh
  67. - name: Run Tool
  68. run: dev/pytest/pytest_tools.sh
  69. - name: Run Workflow
  70. run: dev/pytest/pytest_workflow.sh
  71. - name: Run Vector Stores
  72. run: dev/pytest/pytest_vdb.sh