Skip to content

Commit

Permalink
ci: migrate to new slo action
Browse files Browse the repository at this point in the history
  • Loading branch information
polRk committed Oct 26, 2024
1 parent cea4669 commit f46865f
Show file tree
Hide file tree
Showing 10 changed files with 58 additions and 66 deletions.
109 changes: 56 additions & 53 deletions .github/workflows/slo.yml
Original file line number Diff line number Diff line change
@@ -1,70 +1,73 @@
name: SLO
name: slo

on:
push:
branches:
- main
pull_request:
branches: [main]
branches:
- main
- release-*
workflow_dispatch:
inputs:
github_pull_request_number:
required: true
slo_workload_duration_seconds:
default: '600'
required: false
slo_workload_read_max_rps:
default: '1000'
required: false
slo_workload_write_max_rps:
default: '100'
required: false

jobs:
test-slo:
concurrency:
group: slo-${{ github.ref }}
ydb-slo-action-init:
if: (!contains(github.event.pull_request.labels.*.name, 'no slo'))

name: Run YDB SLO Tests
runs-on: ubuntu-latest
name: SLO test
permissions:
checks: write
pull-requests: write
contents: read
issues: write

strategy:
matrix:
sdk:
- py-sync-table
- py-sync-query

steps:
- name: Checkout repository
uses: actions/checkout@v3
if: env.DOCKER_REPO != null
env:
DOCKER_REPO: ${{ secrets.SLO_DOCKER_REPO }}
uses: actions/checkout@v4

- name: Run SLO
uses: ydb-platform/slo-tests@main
if: env.DOCKER_REPO != null
env:
DOCKER_REPO: ${{ secrets.SLO_DOCKER_REPO }}
continue-on-error: true
- name: Install Python3
uses: actions/setup-python@v5
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KUBECONFIG_B64: ${{ secrets.SLO_KUBE_CONFIG }}
AWS_CREDENTIALS_B64: ${{ secrets.SLO_AWS_CREDENTIALS }}
AWS_CONFIG_B64: ${{ secrets.SLO_AWS_CONFIG }}
DOCKER_USERNAME: ${{ secrets.SLO_DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.SLO_DOCKER_PASSWORD }}
DOCKER_REPO: ${{ secrets.SLO_DOCKER_REPO }}
DOCKER_FOLDER: ${{ secrets.SLO_DOCKER_FOLDER }}
s3_endpoint: ${{ secrets.SLO_S3_ENDPOINT }}
s3_images_folder: ${{ vars.SLO_S3_IMAGES_FOLDER }}
grafana_domain: ${{ vars.SLO_GRAFANA_DOMAIN }}
grafana_dashboard: ${{ vars.SLO_GRAFANA_DASHBOARD }}
ydb_version: 'newest'
timeBetweenPhases: 30
shutdownTime: 30

language_id0: sync-python-table
language0: Python SDK over Table Service
workload_path0: tests/slo
workload_build_context0: ../..
workload_build_options0: -f Dockerfile --build-arg SDK_SERVICE=sync-python-table
python-version: '3.8'
cache: 'pip'

language_id1: sync-python-query
language1: Python SDK over Query Service
workload_path1: tests/slo
workload_build_context1: ../..
workload_build_options1: -f Dockerfile --build-arg SDK_SERVICE=sync-python-query
- name: Install dependencies
run: |
python -m pip install --no-cache-dir --upgrade pip
python -m pip install --no-cache-dir -e .
python -m pip install --no-cache-dir -r tests/slo/requirements.txt
- uses: actions/upload-artifact@v3
if: env.DOCKER_REPO != null
env:
DOCKER_REPO: ${{ secrets.SLO_DOCKER_REPO }}
- name: Initialize YDB SLO
uses: ydb-platform/ydb-slo-action/init@main
with:
name: slo-logs
path: logs/
github_pull_request_number: ${{ github.event.inputs.github_pull_request_number }}
github_token: ${{ secrets.GITHUB_TOKEN }}
sdk_name: ${{ matrix.sdk }}

- name: Run SLO Tests
run: |
python ./tests/slo create grpc://localhost:2135 /Root/testdb
python ./tests/slo run grpc://localhost:2135 /Root/testdb \
--prom-pgw localhost:9091 \
--report-period 250 \
--read-rps ${{inputs.slo_workload_read_max_rps || 1000}} \
--write-rps ${{inputs.slo_workload_write_max_rps || 100}} \
--read-timeout 10000
--write-timeout 10000
--time ${{inputs.slo_workload_duration_seconds || 600}} \\
--shutdown-time 30
python ./tests/slo cleanup grpc://localhost:2135 /Root/testdb
11 changes: 0 additions & 11 deletions tests/slo/Dockerfile

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions tests/slo/src/runner.py → tests/slo/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,13 @@ def run_slo(args, driver, tb_name):
logger.info("Max ID: %s", max_id)

metrics = Metrics(args.prom_pgw)
if SDK_SERVICE_NAME == "sync-python-table":
if SDK_SERVICE_NAME == "py-sync-table":
futures = (
*run_read_jobs(args, driver, tb_name, max_id, metrics),
*run_write_jobs(args, driver, tb_name, max_id, metrics),
run_metric_job(args, metrics),
)
elif SDK_SERVICE_NAME == "sync-python-query":
elif SDK_SERVICE_NAME == "py-sync-query":
futures = (
*run_read_jobs_query(args, driver, tb_name, max_id, metrics),
*run_write_jobs_query(args, driver, tb_name, max_id, metrics),
Expand Down
File renamed without changes.

0 comments on commit f46865f

Please sign in to comment.