CI: Initial Release test workflow (#1749)
<!-- .github/pull_request_template.md --> ## Description Created `Release Test Workflow` that for now executes load tests. It's being triggered manually and on a PR to `main`. NOTE: Release workflow is not in required checks because it contains new and unstable tests. We will need to watch it ourselves. The `Load Test` workflow is being called from the `Release Test Workflow` and also manually on demand. Limited load test duration to 60 minutes. <!-- Please provide a clear, human-generated description of the changes in this PR. DO NOT use AI-generated descriptions. We want to understand your thought process and reasoning. --> ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [x] Other (please specify): CI improvement ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [ ] **I have tested my changes thoroughly before submitting this PR** - [ ] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.
This commit is contained in:
commit
f7095c1c12
3 changed files with 87 additions and 41 deletions
41
.github/workflows/e2e_tests.yml
vendored
41
.github/workflows/e2e_tests.yml
vendored
|
|
@ -447,44 +447,3 @@ jobs:
|
||||||
DB_USERNAME: cognee
|
DB_USERNAME: cognee
|
||||||
DB_PASSWORD: cognee
|
DB_PASSWORD: cognee
|
||||||
run: uv run python ./cognee/tests/test_conversation_history.py
|
run: uv run python ./cognee/tests/test_conversation_history.py
|
||||||
|
|
||||||
test-load:
|
|
||||||
name: Test Load
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Cognee Setup
|
|
||||||
uses: ./.github/actions/cognee_setup
|
|
||||||
with:
|
|
||||||
python-version: '3.11.x'
|
|
||||||
extra-dependencies: "aws"
|
|
||||||
|
|
||||||
- name: Set File Descriptor Limit
|
|
||||||
run: sudo prlimit --pid $$ --nofile=4096:4096
|
|
||||||
|
|
||||||
- name: Verify File Descriptor Limit
|
|
||||||
run: ulimit -n
|
|
||||||
|
|
||||||
- name: Dependencies already installed
|
|
||||||
run: echo "Dependencies already installed in setup"
|
|
||||||
|
|
||||||
- name: Run Load Test
|
|
||||||
env:
|
|
||||||
ENV: 'dev'
|
|
||||||
ENABLE_BACKEND_ACCESS_CONTROL: True
|
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
|
||||||
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
||||||
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
|
||||||
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
|
||||||
STORAGE_BACKEND: s3
|
|
||||||
AWS_REGION: eu-west-1
|
|
||||||
AWS_ENDPOINT_URL: https://s3-eu-west-1.amazonaws.com
|
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_S3_DEV_USER_KEY_ID }}
|
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_DEV_USER_SECRET_KEY }}
|
|
||||||
run: uv run python ./cognee/tests/test_load.py
|
|
||||||
70
.github/workflows/load_tests.yml
vendored
Normal file
70
.github/workflows/load_tests.yml
vendored
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
name: Load tests
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
|
secrets:
|
||||||
|
LLM_MODEL:
|
||||||
|
required: true
|
||||||
|
LLM_ENDPOINT:
|
||||||
|
required: true
|
||||||
|
LLM_API_KEY:
|
||||||
|
required: true
|
||||||
|
LLM_API_VERSION:
|
||||||
|
required: true
|
||||||
|
EMBEDDING_MODEL:
|
||||||
|
required: true
|
||||||
|
EMBEDDING_ENDPOINT:
|
||||||
|
required: true
|
||||||
|
EMBEDDING_API_KEY:
|
||||||
|
required: true
|
||||||
|
EMBEDDING_API_VERSION:
|
||||||
|
required: true
|
||||||
|
OPENAI_API_KEY:
|
||||||
|
required: true
|
||||||
|
AWS_ACCESS_KEY_ID:
|
||||||
|
required: true
|
||||||
|
AWS_SECRET_ACCESS_KEY:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-load:
|
||||||
|
name: Test Load
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
timeout-minutes: 60
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cognee Setup
|
||||||
|
uses: ./.github/actions/cognee_setup
|
||||||
|
with:
|
||||||
|
python-version: '3.11.x'
|
||||||
|
extra-dependencies: "aws"
|
||||||
|
|
||||||
|
- name: Verify File Descriptor Limit
|
||||||
|
run: ulimit -n
|
||||||
|
|
||||||
|
- name: Run Load Test
|
||||||
|
env:
|
||||||
|
ENV: 'dev'
|
||||||
|
ENABLE_BACKEND_ACCESS_CONTROL: True
|
||||||
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||||
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||||
|
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
||||||
|
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
||||||
|
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
||||||
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||||
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||||
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||||
|
STORAGE_BACKEND: s3
|
||||||
|
AWS_REGION: eu-west-1
|
||||||
|
AWS_ENDPOINT_URL: https://s3-eu-west-1.amazonaws.com
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_S3_DEV_USER_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_DEV_USER_SECRET_KEY }}
|
||||||
|
run: uv run python ./cognee/tests/test_load.py
|
||||||
|
|
||||||
|
|
||||||
17
.github/workflows/release_test.yml
vendored
Normal file
17
.github/workflows/release_test.yml
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Long-running, heavy and resource-consuming tests for release validation
|
||||||
|
name: Release Test Workflow
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
load-tests:
|
||||||
|
name: Load Tests
|
||||||
|
uses: ./.github/workflows/load_tests.yml
|
||||||
|
secrets: inherit
|
||||||
Loading…
Add table
Reference in a new issue