build_and_test_provisioned.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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, "${{ inputs.runner_label }}" ]
  53. steps:
  54. - name: Checkout
  55. uses: actions/checkout@v3
  56. with:
  57. ref: cmakebuild
  58. - name: Build
  59. uses: ./.github/actions/build
  60. if: inputs.run_build
  61. with:
  62. sanitizer: ${{ inputs.sanitizer }}
  63. ccache_remote_path: ${{ vars.REMOTE_CACHE_URL && format('http://{0}{1}', secrets.REMOTE_CACHE_AUTH, vars.REMOTE_CACHE_URL) || ''}}
  64. extra_compile_flags: ${{ inputs.extra_compile_flags }}
  65. - name: Run tests
  66. uses: ./.github/actions/test
  67. with:
  68. log_suffix: ${{ inputs.sanitizer != '' && format('{0}-{1}', inputs.runner_label, inputs.sanitizer) || inputs.runner_label }}
  69. test_label_regexp: ${{ inputs.test_label_regexp }}
  70. aws_key_id: ${{secrets.AWS_KEY_ID}}
  71. aws_key_value: ${{secrets.AWS_KEY_VALUE}}
  72. aws_bucket: ${{vars.AWS_BUCKET}}
  73. aws_endpoint: ${{vars.AWS_ENDPOINT}}
  74. testman_token: ${{secrets.TESTMO_TOKEN}}
  75. testman_url: ${{vars.TESTMO_URL}}
  76. testman_project_id: ${{vars.TESTMO_PROJECT_ID}}
  77. run_unit_tests: ${{inputs.run_unit_tests}}
  78. run_functional_tests: ${{inputs.run_functional_tests}}