action.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. name: Ya-Build-and-Test
  2. inputs:
  3. build_target:
  4. type: string
  5. default: "ydb/"
  6. description: "limit build and test to specific target"
  7. build_preset:
  8. type: string
  9. run_build:
  10. type: boolean
  11. default: true
  12. description: "run build"
  13. run_tests:
  14. type: boolean
  15. default: true
  16. description: "run tests"
  17. test_threads:
  18. type: string
  19. default: 28
  20. description: "Test threads count"
  21. link_threads:
  22. type: string
  23. default: 12
  24. description: "link threads count"
  25. test_size:
  26. type: string
  27. default: "small,medium,large"
  28. test_type:
  29. type: string
  30. default: ""
  31. description: "run only specific test types (or all by default)"
  32. increment:
  33. type: boolean
  34. required: true
  35. description: If true, compares build graphs between the current and previous commits to find a list of test suites to run. Otherwise, runs all tests.
  36. folder_prefix:
  37. type: string
  38. default: "ya-"
  39. put_build_results_to_cache:
  40. type: boolean
  41. default: true
  42. additional_ya_make_args:
  43. type: string
  44. default: ""
  45. test_retry_count:
  46. default: ""
  47. description: "how many times to retry failed tests"
  48. secs:
  49. type: string
  50. default: ""
  51. vars:
  52. type: string
  53. default: ""
  54. defaults:
  55. run:
  56. shell: bash
  57. runs:
  58. using: "composite"
  59. steps:
  60. - name: Prepare s3cmd
  61. uses: ./.github/actions/s3cmd
  62. with:
  63. s3_bucket: ${{ fromJSON( inputs.vars ).AWS_BUCKET }}
  64. s3_endpoint: ${{ fromJSON( inputs.vars ).AWS_ENDPOINT }}
  65. s3_key_id: ${{ fromJSON( inputs.secs ).AWS_KEY_ID }}
  66. s3_key_secret: ${{ fromJSON( inputs.secs ).AWS_KEY_VALUE }}
  67. folder_prefix: ya-
  68. build_preset: ${{ inputs.build_preset }}
  69. - name: Run build and tests
  70. id: build
  71. uses: ./.github/actions/test_ya
  72. with:
  73. build_target: ${{ inputs.build_target }}
  74. build_preset: ${{ inputs.build_preset }}
  75. test_size: ${{ inputs.test_size }}
  76. test_type: ${{ inputs.test_type }}
  77. run_tests: ${{ inputs.run_tests }}
  78. increment: ${{ inputs.increment }}
  79. testman_token: ${{ fromJSON( inputs.secs ).TESTMO_TOKEN2 }}
  80. testman_url: ${{ fromJSON( inputs.vars ).TESTMO_URL }}
  81. testman_project_id: ${{ fromJSON( inputs.vars ).TESTMO_PROJECT_ID }}
  82. link_threads: ${{ inputs.link_threads }}
  83. additional_ya_make_args: ${{ inputs.additional_ya_make_args }}
  84. test_threads: ${{ inputs.test_threads }}
  85. bazel_remote_uri: ${{ fromJSON( inputs.vars ).REMOTE_CACHE_URL || '' }}
  86. bazel_remote_username: ${{ fromJSON( inputs.secs ).REMOTE_CACHE_USERNAME || '' }}
  87. bazel_remote_password: ${{ fromJSON( inputs.secs ).REMOTE_CACHE_PASSWORD || '' }}
  88. put_build_results_to_cache: ${{ inputs.put_build_results_to_cache }}
  89. test_retry_count: ${{ inputs.test_retry_count }}