regression_whitelist_run.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. name: Regression-whitelist-run
  2. on:
  3. schedule:
  4. - cron: "0 23 * * *" # At 01:00 every day
  5. workflow_dispatch:
  6. jobs:
  7. main:
  8. name: Build and run tests
  9. runs-on: [ self-hosted, "${{ inputs.runner_label || 'auto-provisioned' }}", "${{ format('build-preset-{0}', inputs.build_preset || 'relwithdebinfo') }}" ]
  10. timeout-minutes: 600
  11. strategy:
  12. fail-fast: false # do not stop wf if the tests in one of the configurations failed
  13. matrix:
  14. branch: [main] # branches to test
  15. build_preset: [relwithdebinfo, release-asan, release-msan, release-tsan] # list of build presets to run in each brunch
  16. include:
  17. - build_preset: relwithdebinfo
  18. threads_count: 52
  19. timeout: 300
  20. build_target: "ydb/tests/sql/ ydb/tests/stress"
  21. test_size: small,medium,large
  22. test_type: unittest,py3test,py2test,pytest
  23. - build_preset: release-asan
  24. threads_count: 20
  25. timeout: 480
  26. build_target: "ydb/tests/sql/ ydb/tests/stress"
  27. test_size: small,medium,large
  28. test_type: unittest,py3test,py2test,pytest
  29. - build_preset: release-msan
  30. threads_count: 20
  31. timeout: 480
  32. build_target: "ydb/tests/sql/ ydb/tests/stress ydb/tests/functional/tpc"
  33. test_size: small,medium,large
  34. test_type: unittest,py3test,py2test,pytest
  35. - build_preset: release-tsan
  36. threads_count: 10
  37. timeout: 600
  38. build_target: "ydb/tests/sql/ ydb/tests/stress"
  39. test_size: small,medium
  40. test_type: unittest,py3test,py2test,pytest
  41. steps:
  42. - name: Checkout
  43. uses: actions/checkout@v4
  44. with:
  45. ref: ${{ matrix.branch }}
  46. - name: Setup ssh key for slice
  47. uses: webfactory/ssh-agent@v0.9.0
  48. with:
  49. ssh-private-key: ${{ secrets.SLICE_QA_SSH_PRIVATE_KEY }}
  50. - name: Setup ydb access
  51. uses: ./.github/actions/setup_ci_ydb_service_account_key_file_credentials
  52. with:
  53. ci_ydb_service_account_key_file_credentials: ${{ secrets.CI_YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS }}
  54. - name: Build and test
  55. timeout-minutes: ${{ matrix.timeout }}
  56. uses: ./.github/actions/build_and_test_ya
  57. with:
  58. build_preset: ${{ matrix.build_preset }}
  59. increment: false
  60. build_target: ${{ matrix.build_target }}
  61. run_build: true
  62. run_tests: true
  63. test_retry_count: 3
  64. test_size: ${{ matrix.test_size }}
  65. test_type: ${{ matrix.test_type }}
  66. test_threads: ${{ matrix.threads_count }}
  67. put_build_results_to_cache: false
  68. additional_ya_make_args: -DDEBUGINFO_LINES_ONLY # we don't need full symbols in CI checks
  69. secs: ${{ format('{{"TESTMO_TOKEN2":"{0}","AWS_KEY_ID":"{1}","AWS_KEY_VALUE":"{2}","REMOTE_CACHE_USERNAME":"{3}","REMOTE_CACHE_PASSWORD":"{4}"}}',
  70. secrets.TESTMO_TOKEN2, secrets.AWS_KEY_ID, secrets.AWS_KEY_VALUE, secrets.REMOTE_CACHE_USERNAME, secrets.REMOTE_CACHE_PASSWORD ) }}
  71. vars: ${{ format('{{"AWS_BUCKET":"{0}","AWS_ENDPOINT":"{1}","REMOTE_CACHE_URL":"{2}","TESTMO_URL":"{3}","TESTMO_PROJECT_ID":"{4}"}}',
  72. vars.AWS_BUCKET, vars.AWS_ENDPOINT, vars.REMOTE_CACHE_URL_YA, vars.TESTMO_URL, vars.TESTMO_PROJECT_ID ) }}