From 24beb80279cfcbecbb8e02ed507ea1c75c75fa5d Mon Sep 17 00:00:00 2001 From: Vladislav Polyakov Date: Wed, 23 Oct 2024 23:14:58 +0300 Subject: [PATCH] feat: use new slo actions --- .github/workflows/slo-report.yml | 22 +++++++++++ .github/workflows/slo.yml | 64 +++++++++++++++++++++++--------- 2 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/slo-report.yml diff --git a/.github/workflows/slo-report.yml b/.github/workflows/slo-report.yml new file mode 100644 index 000000000..b17e50adf --- /dev/null +++ b/.github/workflows/slo-report.yml @@ -0,0 +1,22 @@ +name: slo-report + +on: + workflow_run: + workflows: ['slo'] + types: + - completed + +jobs: + test-ydb-slo-action: + runs-on: ubuntu-latest + name: Publish YDB SLO Report + permissions: + contents: read + pull-requests: write + if: github.event.workflow_run.conclusion == 'success' + steps: + - name: Publish YDB SLO Report + uses: ydb-platform/ydb-slo-action/report@main + with: + token: ${{ secrets.GITHUB_TOKEN }} + run_id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/slo.yml b/.github/workflows/slo.yml index 522c18cfc..d843158d5 100644 --- a/.github/workflows/slo.yml +++ b/.github/workflows/slo.yml @@ -1,24 +1,48 @@ -name: SLO +name: slo + on: pull_request: branches: - master - release-* workflow_dispatch: + inputs: + github_pull_request_number: + required: true + 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 - issues: write - contents: read - pull-requests: write + strategy: + matrix: + sdk: + - id: database_sql + name: database-sql + path: ./database/sql + label: database/sql + - 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 + name: gorm + path: ./gorm + label: gorm + - id: xorm + name: xorm + path: ./xorm + label: xorm + + concurrency: + group: slo-${{ github.ref }}-${{matrix.sdk.name}} steps: - name: Checkout repository @@ -33,13 +57,17 @@ jobs: - name: Build workload run: | cd ./tests/slo - go build -o .bin/native_query_linux_amd64 -ldflags "-X \"main.ref=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}\" -X \"main.label=native/query\" -X \"main.jobName=native-query\"" ./native/query - chmod +x .bin/native_query_linux_amd64 + 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: Run SLO - uses: ydb-platform/slo-tests@v2 - continue-on-error: true + - name: Inititialize YDB SLO + uses: ydb-platform/ydb-slo-action/init@main with: - GITHUB_TOKEN: ${{ secrets.YDB_PLATFORM_BOT_TOKEN_REPO }} - WORKLOAD_RUNNER: "./tests/slo/.bin/native_query_linux_amd64 create grpc://localhost:2135 /Root/testdb && ./tests/slo/.bin/native_query_linux_amd64 run grpc://localhost:2135 /Root/testdb -prom-pgw localhost:9091 -report-period 500 -time 60 && ./tests/slo/.bin/native_query_linux_amd64 cleanup grpc://localhost:2135 /Root/testdb" - CHAOS_TEST_RUNNER: "sleep 90" + github_pull_request_number: ${{ github.event.inputs.github_pull_request_number }} + sdk_name: ${{ matrix.sdk.name }} + + - name: Run SLO Tests + run: | + ./tests/slo/.bin/${{matrix.sdk.id}}_linux_amd64 create grpc://localhost:2135 /Root/testdb + ./tests/slo/.bin/${{matrix.sdk.id}}_linux_amd64 run grpc://localhost:2135 /Root/testdb -prom-pgw localhost:9091 -report-period 500 -time 60 + ./tests/slo/.bin/${{matrix.sdk.id}}_linux_amd64 cleanup grpc://localhost:2135 /Root/testdb