Skip to content

v0.5.30

v0.5.30 #4

Workflow file for this run

name: Performance tests
on:
release:
types: [ created ]
env:
YC_LT_FOLDER_ID: b1gacohsvc2kc4d76tu5
YC_LT_AUTHORIZED_KEY_JSON: ${{ secrets.YC_LOADTESTING_CI_AUTHORIZED_KEY_JSON }}
YC_LT_TEST_AGENT_FILTER: "name = 'agent-pandora-perf-medium'"
YC_LT_TEST_EXTRA_DESCRIPTION: "GitHub Actions workflow - ${{github.run_id}}"
YC_LT_SKIP_TEST_CHECK: "1"
YC_LT_DATA_BUCKET: ${{ secrets.YC_LT_DATA_BUCKET }}
YC_LT_OUTPUT_DIR: ${{github.workspace}}/performance-test/output
jobs:
build-and-upload:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-yc
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.21.x
cache: true
- name: Test
run: go test -race -covermode atomic ./...
- name: Build
run: |
export GOOS=linux
export CGO_ENABLED=0
go build -o pandora_perf_2
- name: Upload
run: |
source performance-test/automation/_functions.sh && source performance-test/automation/_variables.sh; yc_s3_upload ./pandora_perf_2 pandora-perf ${YC_LT_DATA_BUCKET}
test-pandora-perf:
needs: [ build-and-upload ]
runs-on: ubuntu-latest
concurrency: { group: loadtesting }
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-yc
- name: Run Test HTTP-300inst-sleep0ms-overflow-false
run: |
stripped_tag="${{ github.event.release.tag_name }}"
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-http-uri-300inst-sleep0ms-overflow-false
- name: Run Test HTTP-2000inst-sleep0ms-overflow-false
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-http-uri-2000inst-sleep0ms-overflow-false
- name: Run Test HTTP-2000inst-sleep50ms-overflow-false
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-http-uri-2000inst-sleep50ms-overflow-false
- name: Run Test HTTP-300inst-sleep0ms-overflow-true
run: |
stripped_tag="${{ github.event.release.tag_name }}"
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-http-uri-300inst-sleep0ms-overflow-true
- name: Run Test HTTP-2000inst-sleep0ms-overflow-true
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-http-uri-2000inst-sleep0ms-overflow-true
- name: Run Test HTTP-2000inst-sleep50ms-overflow-true
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-http-uri-2000inst-sleep50ms-overflow-true
- name: Run Test GRPC-2000inst-sleep50ms-overflow-false
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-grpc-2000inst-sleep0ms-overflow-false
- name: Run Test GRPC-2000inst-sleep50ms-overflow-false
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-grpc-2000inst-sleep50ms-overflow-false
- name: Run Test GRPC-300inst-sleep0ms-overflow-false
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-grpc-300inst-sleep0ms-overflow-false
- name: Run Test GRPC-2000inst-sleep50ms-overflow-true
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-grpc-2000inst-sleep0ms-overflow-true
- name: Run Test GRPC-2000inst-sleep50ms-overflow-true
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-grpc-2000inst-sleep50ms-overflow-true
- name: Run Test GRPC-300inst-sleep0ms-overflow-true
run: |
stripped_tag="${{ github.event.release.tag_name }}"
STRIPPED_TAG=${stripped_tag:1}
YC_LT_TEST_EXTRA_LABELS="version=${STRIPPED_TAG}" ./performance-test/automation/test.sh ./performance-test/test-config/pandora-perf-grpc-300inst-sleep0ms-overflow-true
- name: Upload Artifacts GRPC 300inst-sleep0ms
uses: actions/upload-artifact@v4
with:
name: pandora-perf-grpc-300inst-sleep0ms
path: ${{ env.YC_LT_OUTPUT_DIR }}
- name: Parse to Release 2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_ID: 161082234
run: |
cat <<EOF > imbalance.md
## Performance tests
EOF
find $YC_LT_OUTPUT_DIR -name 'summary.json' -exec jq -r '"- \(.details.name): **\(.summary.imbalance_point.rps // "0" | tonumber)**"' {} \; | sort >> imbalance.md
- name: Update release
id: update_release
uses: tubone24/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body_path: ./imbalance.md
is_append_body: true