build_and_test_ya_provisioned.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. name: Ya-Build-and-Test-Provisioned
  2. on:
  3. workflow_dispatch:
  4. inputs:
  5. build_target:
  6. type: string
  7. default: "ydb/"
  8. description: "limit build and test to specific target"
  9. build_preset:
  10. type: choice
  11. default: "relwithdebinfo"
  12. description: "Build preset"
  13. options:
  14. - debug
  15. - relwithdebinfo
  16. - release-asan
  17. - release-tsan
  18. - release-msan
  19. test_size:
  20. type: choice
  21. default: "small,medium,large"
  22. description: "test size to run"
  23. options:
  24. - small
  25. - small,medium
  26. - small,medium,large
  27. test_type:
  28. type: choice
  29. default: "unittest,py3test,py2test,pytest"
  30. description: "type of tests to run"
  31. options:
  32. - unittest
  33. - py3test,py2test,pytest
  34. - unittest,py3test,py2test,pytest
  35. run_build:
  36. type: boolean
  37. default: true
  38. description: "run build"
  39. run_tests:
  40. type: boolean
  41. default: true
  42. description: "run tests"
  43. test_threads:
  44. type: string
  45. default: "28"
  46. description: "Test threads count"
  47. link_threads:
  48. type: string
  49. default: "8"
  50. description: "link threads count"
  51. runner_label:
  52. type: string
  53. default: "auto-provisioned"
  54. description: "runner label"
  55. put_build_results_to_cache:
  56. type: boolean
  57. default: true
  58. workflow_call:
  59. inputs:
  60. build_target:
  61. type: string
  62. default: "ydb/"
  63. build_preset:
  64. type: string
  65. default: "relwithdebinfo"
  66. test_size:
  67. type: string
  68. default: "small,medium,large"
  69. test_type:
  70. type: string
  71. default: "unittest,py3test,py2test,pytest"
  72. run_build:
  73. type: boolean
  74. default: true
  75. run_tests:
  76. type: boolean
  77. default: true
  78. test_threads:
  79. type: string
  80. default: 28
  81. description: "Test threads count"
  82. link_threads:
  83. type: string
  84. default: 8
  85. description: "link threads count"
  86. runner_label:
  87. type: string
  88. default: "auto-provisioned"
  89. put_build_results_to_cache:
  90. type: boolean
  91. default: true
  92. commit_sha:
  93. type: string
  94. default: ""
  95. jobs:
  96. main:
  97. uses: ./.github/workflows/build_and_test_ya.yml
  98. with:
  99. # FIXME: always use auto-provisioned here?
  100. runner_label: ${{ inputs.runner_label }}
  101. # naive check for -asan, -tsan, -msan
  102. runner_additional_label: ${{ contains(inputs.build_preset, '-') && format('build-preset-{0}', inputs.build_preset) || '' }}
  103. build_target: ${{ inputs.build_target }}
  104. build_preset: ${{ inputs.build_preset }}
  105. run_build: ${{ inputs.run_build }}
  106. run_tests: ${{ inputs.run_tests }}
  107. test_size: ${{ inputs.test_size }}
  108. test_type: ${{ inputs.test_type }}
  109. link_threads: ${{ inputs.link_threads }}
  110. test_threads: ${{ inputs.test_threads }}
  111. put_build_results_to_cache: ${{ inputs.put_build_results_to_cache }}
  112. commit_sha: ${{ inputs.commit_sha }}
  113. secrets: inherit