1name: USBX Regression Test
2
3# Controls when the action will run. Triggers the workflow on push or pull request
4# events but only for the master branch
5on:
6  workflow_dispatch:
7    inputs:
8      tests_to_run:
9        description: 'all, single or multiple of default_build_coverage error_check_build_full_coverage tracex_enable_build device_buffer_owner_build device_zero_copy_build nofx_build_coverage optimized_build standalone_device_build_coverage standalone_device_buffer_owner_build standalone_device_zero_copy_build standalone_host_build_coverage standalone_build_coverage generic_build otg_support_build memory_management_build_coverage msrc_rtos_build msrc_standalone_build'
10        required: false
11        default: 'all'
12      skip_coverage:
13        required: false
14        type: boolean
15        default: false
16      coverage_name:
17        required: false
18        default: 'default_build_coverage'
19  push:
20    branches: [ master ]
21  pull_request:
22    branches: [ master ]
23
24# A workflow run is made up of one or more jobs that can run sequentially or in parallel
25jobs:
26
27  manual_tests:
28    if: github.event_name == 'workflow_dispatch'
29    permissions:
30      contents: read
31      issues: read
32      checks: write
33      pull-requests: write
34      pages: write
35      id-token: write
36
37    uses: azure-rtos/threadx/.github/workflows/regression_template.yml@master
38    with:
39      cmake_path: ./test/cmake/usbx
40      build_script: ./scripts/build.sh ${{ inputs.tests_to_run }}
41      test_script: ./scripts/test.sh ${{ inputs.tests_to_run }}
42      coverage_name: ${{ inputs.coverage_name }}
43      skip_coverage: ${{ !!inputs.skip_coverage }}
44
45  auto_tests:
46    if: github.event_name != 'workflow_dispatch'
47    permissions:
48      contents: read
49      issues: read
50      checks: write
51      pull-requests: write
52      pages: write
53      id-token: write
54
55    uses: azure-rtos/threadx/.github/workflows/regression_template.yml@master
56    with:
57      cmake_path: ./test/cmake/usbx
58      build_script: ./scripts/build.sh all
59      test_script: ./scripts/test.sh all
60      coverage_name: default_build_coverage
61      skip_coverage: false
62