Skip to content

support custom types in query result scanning #3020

support custom types in query result scanning

support custom types in query result scanning #3020

Workflow file for this run

name: slo
on:
push:
branches:
- master
pull_request:
branches:
- master
- 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:
ydb-slo-action-init:
if: (!contains(github.event.pull_request.labels.*.name, 'no slo'))
name: Run YDB SLO Tests
runs-on: ubuntu-latest
strategy:
matrix:
sdk:
- id: database_sql_legacy
name: database-sql-legacy
path: ./database/sql/legacy
label: database/sql/legacy
- id: database_sql_propose
name: database-sql-propose
path: ./database/sql/propose
label: database/sql/propose
- id: native_query
name: native-query
path: ./native/query
label: native/query
- id: native_table
name: native-table
path: ./native/table
label: native/table
- id: gorm_legacy
name: gorm-legacy
path: ./gorm/legacy
label: gorm/legacy
- id: gorm_propose
name: gorm-propose
path: ./gorm/propose
label: gorm/propose
- id: xorm_legacy
name: xorm-legacy
path: ./xorm/legacy
label: xorm/legacy
- id: xorm_propose
name: xorm-propose
path: ./xorm/propose
label: xorm/propose
concurrency:
group: slo-${{ github.ref }}-${{ matrix.sdk.name }}
cancel-in-progress: true
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.23.x
cache: true
- name: Build workload
run: |
cd ./tests/slo
go build -o .bin/${{matrix.sdk.id}}_linux_amd64 -ldflags "-X \"main.ref=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}\" -X \"main.label=${{matrix.sdk.label}}\" -X \"main.jobName=${{matrix.sdk.name}}\"" ${{matrix.sdk.path}}
chmod +x .bin/${{matrix.sdk.id}}_linux_amd64
- name: Inititialize YDB SLO
uses: ydb-platform/ydb-slo-action/init@main
with:
github_pull_request_number: ${{ github.event.inputs.github_pull_request_number }}
github_token: ${{ secrets.GITHUB_TOKEN }}
sdk_name: ${{ matrix.sdk.name }}
ydb_database_node_count: 5
- name: Prepare SLO Database
run: |
./tests/slo/.bin/${{matrix.sdk.id}}_linux_amd64 create grpc://localhost:2135 /Root/testdb
- name: Run SLO Tests
run: |
./tests/slo/.bin/${{matrix.sdk.id}}_linux_amd64 run grpc://localhost:2135 /Root/testdb \
-prom-pgw localhost:9091 \
-report-period 250 \
-time ${{inputs.slo_workload_duration_seconds || 600}} \
-read-rps ${{inputs.slo_workload_read_max_rps || 1000}} \
-write-rps ${{inputs.slo_workload_write_max_rps || 100}} \
-read-timeout 1000 \
-write-timeout 1000 || true
- if: always()
name: Store ydb chaos testing logs
run: |
docker logs ydb-chaos > chaos-ydb.log
- if: always()
uses: actions/upload-artifact@v4
with:
name: ${{matrix.sdk.name}}-chaos-ydb.log
path: ./chaos-ydb.log
retention-days: 1
- if: always()
name: Cleanup SLO Database
run: |
./tests/slo/.bin/${{matrix.sdk.id}}_linux_amd64 cleanup grpc://localhost:2135 /Root/testdb || true