summaryrefslogtreecommitdiff
path: root/.github/workflows/regression_test.yml
blob: 5576b211c077087b277da42c968d8b56f8700087 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: USBX Regression Test

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
  workflow_dispatch:
    inputs:
      tests_to_run:
        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'
        required: false
        default: 'all'
      skip_coverage:
        required: false
        type: boolean
        default: false
      coverage_name:
        required: false
        default: 'default_build_coverage'
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:

  manual_tests:
    if: github.event_name == 'workflow_dispatch'
    permissions:
      contents: read
      issues: read
      checks: write
      pull-requests: write
      pages: write
      id-token: write

    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
    with:
      cmake_path: ./test/cmake/usbx
      build_script: ./scripts/build.sh ${{ inputs.tests_to_run }}
      test_script: ./scripts/test.sh ${{ inputs.tests_to_run }}
      coverage_name: ${{ inputs.coverage_name }}
      skip_coverage: ${{ !!inputs.skip_coverage }}

  auto_tests:
    if: github.event_name != 'workflow_dispatch'
    permissions:
      contents: read
      issues: read
      checks: write
      pull-requests: write
      pages: write
      id-token: write

    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
    with:
      cmake_path: ./test/cmake/usbx
      build_script: ./scripts/build.sh all
      test_script: ./scripts/test.sh all
      coverage_name: default_build_coverage
      skip_coverage: false