build_and_test_provisioned.yml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. name: Build-and-Test-Provisioned
  2. on:
  3. workflow_call:
  4. inputs:
  5. runner_label:
  6. required: true
  7. type: string
  8. run_build:
  9. type: boolean
  10. default: true
  11. sanitizer:
  12. required: false
  13. type: string
  14. run_unit_tests:
  15. type: boolean
  16. default: true
  17. run_functional_tests:
  18. type: boolean
  19. default: true
  20. test_label_regexp:
  21. required: false
  22. type: string
  23. extra_compile_flags:
  24. required: false
  25. type: string
  26. workflow_dispatch:
  27. inputs:
  28. runner_label:
  29. required: true
  30. type: string
  31. run_build:
  32. type: boolean
  33. default: true
  34. sanitizer:
  35. required: false
  36. type: string
  37. run_unit_tests:
  38. type: boolean
  39. default: true
  40. run_functional_tests:
  41. type: boolean
  42. default: true
  43. test_label_regexp:
  44. required: false
  45. type: string
  46. extra_compile_flags:
  47. required: false
  48. type: string
  49. jobs:
  50. main:
  51. name: Build and test
  52. runs-on: [ self-hosted, Provisioned, "${{ inputs.runner_label }}" ]
  53. steps:
  54. - name: Checkout
  55. uses: actions/checkout@v3
  56. - name: Build
  57. uses: ./.github/actions/build
  58. if: inputs.run_build
  59. with:
  60. sanitizer: ${{ inputs.sanitizer }}
  61. ccache_remote_path: ${{ vars.REMOTE_CACHE_URL && format('http://{0}{1}', secrets.REMOTE_CACHE_AUTH, vars.REMOTE_CACHE_URL) || ''}}
  62. extra_compile_flags: ${{ inputs.extra_compile_flags }}
  63. - name: Run tests
  64. uses: ./.github/actions/test
  65. with:
  66. log_suffix: ${{ inputs.sanitizer != '' && format('{0}-{1}', inputs.runner_label, inputs.sanitizer) || inputs.runner_label }}
  67. test_label_regexp: ${{ inputs.test_label_regexp }}
  68. aws_key_id: ${{secrets.AWS_KEY_ID}}
  69. aws_key_value: ${{secrets.AWS_KEY_VALUE}}
  70. aws_bucket: ${{vars.AWS_BUCKET}}
  71. aws_endpoint: ${{vars.AWS_ENDPOINT}}
  72. testman_token: ${{secrets.TESTMO_TOKEN}}
  73. testman_url: ${{vars.TESTMO_URL}}
  74. testman_project_id: ${{vars.TESTMO_PROJECT_ID}}
  75. run_unit_tests: ${{inputs.run_unit_tests}}
  76. run_functional_tests: ${{inputs.run_functional_tests}}