|
name: Test Locust Load Test |
|
|
|
on: |
|
workflow_run: |
|
workflows: ["Build, Publish LiteLLM Docker Image. New Release"] |
|
types: |
|
- completed |
|
workflow_dispatch: |
|
|
|
jobs: |
|
build: |
|
runs-on: ubuntu-latest |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v1 |
|
- name: Setup Python |
|
uses: actions/setup-python@v2 |
|
with: |
|
python-version: '3.x' |
|
|
|
- name: Install dependencies |
|
run: | |
|
python -m pip install --upgrade pip |
|
pip install PyGithub |
|
- name: re-deploy proxy |
|
run: | |
|
echo "Current working directory: $PWD" |
|
ls |
|
python ".github/workflows/redeploy_proxy.py" |
|
env: |
|
LOAD_TEST_REDEPLOY_URL1: ${{ secrets.LOAD_TEST_REDEPLOY_URL1 }} |
|
LOAD_TEST_REDEPLOY_URL2: ${{ secrets.LOAD_TEST_REDEPLOY_URL2 }} |
|
working-directory: ${{ github.workspace }} |
|
- name: Run Load Test |
|
id: locust_run |
|
uses: BerriAI/locust-github-action@master |
|
with: |
|
LOCUSTFILE: ".github/workflows/locustfile.py" |
|
URL: "https://post-release-load-test-proxy.onrender.com/" |
|
USERS: "20" |
|
RATE: "20" |
|
RUNTIME: "300s" |
|
- name: Process Load Test Stats |
|
run: | |
|
echo "Current working directory: $PWD" |
|
ls |
|
python ".github/workflows/interpret_load_test.py" |
|
env: |
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
working-directory: ${{ github.workspace }} |
|
- name: Upload CSV as Asset to Latest Release |
|
uses: xresloader/upload-to-github-release@v1 |
|
env: |
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
with: |
|
file: "load_test_stats.csv;load_test.html" |
|
update_latest_release: true |
|
tag_name: "load-test" |
|
overwrite: true |