Skip to content

Commit 20f5736

Browse files
authored
Regression wf refactoring (#16029) (#16056)
1 parent 3f8e741 commit 20f5736

File tree

7 files changed

+157
-271
lines changed

7 files changed

+157
-271
lines changed

.github/workflows/build_and_test_ya_provisioned.yml

Lines changed: 0 additions & 115 deletions
This file was deleted.

.github/workflows/nightly_run.yaml

Lines changed: 0 additions & 20 deletions
This file was deleted.

.github/workflows/regression_run.yml

Lines changed: 10 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,77 +2,19 @@ name: Regression-run
22

33
on:
44
schedule:
5-
- cron: "0 1 * * *" # At 01:00 every day
5+
- cron: "0 23 * * *" # At 23:00 every day
66
workflow_dispatch:
77

88
jobs:
99
main:
10-
name: Build and run tests
11-
runs-on: [ self-hosted, "${{ inputs.runner_label || 'auto-provisioned' }}", "${{ format('build-preset-{0}', inputs.build_preset || 'relwithdebinfo') }}" ]
12-
timeout-minutes: 600
10+
name: Regression-run
11+
uses: ./.github/workflows/run_tests.yml
12+
secrets: inherit
1313
strategy:
14-
fail-fast: false # do not stop wf if the tests in one of the configurations failed
15-
matrix:
16-
branch: [main] # branches to test
17-
build_preset: [relwithdebinfo, release-asan, release-msan, release-tsan] # list of build presets to run in each brunch
18-
include:
19-
- build_preset: relwithdebinfo
20-
threads_count: 52
21-
timeout: 300
22-
build_target: "ydb/"
23-
test_size: small,medium,large
24-
test_type: unittest,py3test,py2test,pytest
25-
- build_preset: release-asan
26-
threads_count: 20
27-
timeout: 480
28-
build_target: "ydb/"
29-
test_size: small,medium,large
30-
test_type: unittest,py3test,py2test,pytest
31-
- build_preset: release-msan
32-
threads_count: 20
33-
timeout: 480
34-
build_target: "ydb/"
35-
test_size: small,medium,large
36-
test_type: unittest,py3test,py2test,pytest
37-
- build_preset: release-tsan
38-
threads_count: 10
39-
timeout: 600
40-
build_target: "ydb/"
41-
test_size: small,medium
42-
test_type: unittest,py3test,py2test,pytest
14+
fail-fast: false
15+
matrix:
16+
build_preset: ["relwithdebinfo", "release-asan", "release-tsan", "release-msan"]
17+
with:
18+
test_targets: ydb/
19+
build_preset: ${{ matrix.build_preset }}
4320

44-
steps:
45-
- name: Checkout
46-
uses: actions/checkout@v4
47-
with:
48-
ref: ${{ matrix.branch }}
49-
50-
- name: Setup ssh key for slice
51-
uses: webfactory/ssh-agent@v0.9.0
52-
with:
53-
ssh-private-key: ${{ secrets.SLICE_QA_SSH_PRIVATE_KEY }}
54-
55-
- name: Setup ydb access
56-
uses: ./.github/actions/setup_ci_ydb_service_account_key_file_credentials
57-
with:
58-
ci_ydb_service_account_key_file_credentials: ${{ secrets.CI_YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS }}
59-
60-
- name: Build and test
61-
timeout-minutes: ${{ matrix.timeout }}
62-
uses: ./.github/actions/build_and_test_ya
63-
with:
64-
build_preset: ${{ matrix.build_preset }}
65-
increment: false
66-
build_target: ${{ matrix.build_target }}
67-
run_build: true
68-
run_tests: true
69-
test_retry_count: 3
70-
test_size: ${{ matrix.test_size }}
71-
test_type: ${{ matrix.test_type }}
72-
test_threads: ${{ matrix.threads_count }}
73-
put_build_results_to_cache: false
74-
additional_ya_make_args: -DDEBUGINFO_LINES_ONLY # we don't need full symbols in CI checks
75-
secs: ${{ format('{{"TESTMO_TOKEN2":"{0}","AWS_KEY_ID":"{1}","AWS_KEY_VALUE":"{2}","REMOTE_CACHE_USERNAME":"{3}","REMOTE_CACHE_PASSWORD":"{4}"}}',
76-
secrets.TESTMO_TOKEN2, secrets.AWS_KEY_ID, secrets.AWS_KEY_VALUE, secrets.REMOTE_CACHE_USERNAME, secrets.REMOTE_CACHE_PASSWORD ) }}
77-
vars: ${{ format('{{"AWS_BUCKET":"{0}","AWS_ENDPOINT":"{1}","REMOTE_CACHE_URL":"{2}","TESTMO_URL":"{3}","TESTMO_PROJECT_ID":"{4}"}}',
78-
vars.AWS_BUCKET, vars.AWS_ENDPOINT, vars.REMOTE_CACHE_URL_YA, vars.TESTMO_URL, vars.TESTMO_PROJECT_ID ) }}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Regression-run Large
2+
3+
on:
4+
schedule:
5+
- cron: "0 23 * * *" # At 23:00 every day
6+
workflow_dispatch:
7+
8+
jobs:
9+
main:
10+
name: Regression-run Large
11+
uses: ./.github/workflows/run_tests.yml
12+
secrets: inherit
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
build_preset: ["relwithdebinfo", "release-asan", "release-tsan", "release-msan"]
17+
with:
18+
test_targets: ydb/
19+
test_size: large
20+
build_preset: ${{ matrix.build_preset }}
21+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Regression-run Small Medium
2+
3+
on:
4+
schedule:
5+
- cron: "0 23 * * *" # At 23:00 every day
6+
workflow_dispatch:
7+
8+
jobs:
9+
main:
10+
name: Regression-run Small Medium
11+
uses: ./.github/workflows/run_tests.yml
12+
secrets: inherit
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
build_preset: ["relwithdebinfo", "release-asan", "release-tsan", "release-msan"]
17+
with:
18+
test_targets: ydb/
19+
test_size: small,medium
20+
build_preset: ${{ matrix.build_preset }}
21+

.github/workflows/regression_whitelist_run.yml

Lines changed: 10 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,77 +2,19 @@ name: Regression-whitelist-run
22

33
on:
44
schedule:
5-
- cron: "0 23 * * *" # At 01:00 every day
5+
- cron: "0 23 * * *" # At 23:00 every day
66
workflow_dispatch:
77

88
jobs:
99
main:
10-
name: Build and run tests
11-
runs-on: [ self-hosted, "${{ inputs.runner_label || 'auto-provisioned' }}", "${{ format('build-preset-{0}', inputs.build_preset || 'relwithdebinfo') }}" ]
12-
timeout-minutes: 600
10+
name: Whitelist-run
11+
uses: ./.github/workflows/run_tests.yml
12+
secrets: inherit
1313
strategy:
14-
fail-fast: false # do not stop wf if the tests in one of the configurations failed
15-
matrix:
16-
branch: [main] # branches to test
17-
build_preset: [relwithdebinfo, release-asan, release-msan, release-tsan] # list of build presets to run in each brunch
18-
include:
19-
- build_preset: relwithdebinfo
20-
threads_count: 52
21-
timeout: 300
22-
build_target: "ydb/tests/sql/ ydb/tests/stress ydb/tests/functional/tpc ydb/tests/functional/benchmarks_init"
23-
test_size: small,medium,large
24-
test_type: unittest,py3test,py2test,pytest
25-
- build_preset: release-asan
26-
threads_count: 20
27-
timeout: 480
28-
build_target: "ydb/tests/sql/ ydb/tests/stress ydb/tests/functional/tpc ydb/tests/functional/benchmarks_init"
29-
test_size: small,medium,large
30-
test_type: unittest,py3test,py2test,pytest
31-
- build_preset: release-msan
32-
threads_count: 20
33-
timeout: 480
34-
build_target: "ydb/tests/sql/ ydb/tests/stress ydb/tests/functional/tpc ydb/tests/functional/benchmarks_init"
35-
test_size: small,medium,large
36-
test_type: unittest,py3test,py2test,pytest
37-
- build_preset: release-tsan
38-
threads_count: 10
39-
timeout: 600
40-
build_target: "ydb/tests/sql/ ydb/tests/stress ydb/tests/functional/tpc ydb/tests/functional/benchmarks_init"
41-
test_size: small,medium
42-
test_type: unittest,py3test,py2test,pytest
14+
fail-fast: false
15+
matrix:
16+
build_preset: ["relwithdebinfo", "release-asan", "release-tsan", "release-msan"]
17+
with:
18+
test_targets: ydb/tests/sql/ ydb/tests/stress ydb/tests/functional/tpc ydb/tests/functional/benchmarks_init
19+
build_preset: ${{ matrix.build_preset }}
4320

44-
steps:
45-
- name: Checkout
46-
uses: actions/checkout@v4
47-
with:
48-
ref: ${{ matrix.branch }}
49-
50-
- name: Setup ssh key for slice
51-
uses: webfactory/ssh-agent@v0.9.0
52-
with:
53-
ssh-private-key: ${{ secrets.SLICE_QA_SSH_PRIVATE_KEY }}
54-
55-
- name: Setup ydb access
56-
uses: ./.github/actions/setup_ci_ydb_service_account_key_file_credentials
57-
with:
58-
ci_ydb_service_account_key_file_credentials: ${{ secrets.CI_YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS }}
59-
60-
- name: Build and test
61-
timeout-minutes: ${{ matrix.timeout }}
62-
uses: ./.github/actions/build_and_test_ya
63-
with:
64-
build_preset: ${{ matrix.build_preset }}
65-
increment: false
66-
build_target: ${{ matrix.build_target }}
67-
run_build: true
68-
run_tests: true
69-
test_retry_count: 3
70-
test_size: ${{ matrix.test_size }}
71-
test_type: ${{ matrix.test_type }}
72-
test_threads: ${{ matrix.threads_count }}
73-
put_build_results_to_cache: false
74-
additional_ya_make_args: -DDEBUGINFO_LINES_ONLY # we don't need full symbols in CI checks
75-
secs: ${{ format('{{"TESTMO_TOKEN2":"{0}","AWS_KEY_ID":"{1}","AWS_KEY_VALUE":"{2}","REMOTE_CACHE_USERNAME":"{3}","REMOTE_CACHE_PASSWORD":"{4}"}}',
76-
secrets.TESTMO_TOKEN2, secrets.AWS_KEY_ID, secrets.AWS_KEY_VALUE, secrets.REMOTE_CACHE_USERNAME, secrets.REMOTE_CACHE_PASSWORD ) }}
77-
vars: ${{ format('{{"AWS_BUCKET":"{0}","AWS_ENDPOINT":"{1}","REMOTE_CACHE_URL":"{2}","TESTMO_URL":"{3}","TESTMO_PROJECT_ID":"{4}"}}',
78-
vars.AWS_BUCKET, vars.AWS_ENDPOINT, vars.REMOTE_CACHE_URL_YA, vars.TESTMO_URL, vars.TESTMO_PROJECT_ID ) }}

0 commit comments

Comments
 (0)