summaryrefslogtreecommitdiff
path: root/.github/workflows/regression_test.yml
blob: 2f0329636b1cbef1f548ebe447229893722beb23 (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
62
63
64
65
66
67
name: regression_test

# Controls when the action will run. Triggers the workflow on push or pull
# request events for master and for the certification branch.
on:
  workflow_dispatch:
  push:
    branches: [ master, v6.4.1_cert ]
  pull_request:
    branches: [ master, v6.4.1_cert ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # Each calling job spells out the permissions the called workflow's own jobs
  # ask for. A reusable workflow cannot be granted more than its caller holds,
  # and when the repository default became read-only these calls started being
  # rejected before any job was scheduled -- a startup failure with no log and
  # nothing to read. Verified: v6.4.1_rel's unmodified workflow fails the same
  # way today.
  tx:
    permissions:
      contents: read
      issues: read
      checks: write
      pull-requests: write
      pages: write
      id-token: write
    uses: ./.github/workflows/regression_template.yml
    with:
      build_script: ./scripts/build_tx.sh
      test_script: ./scripts/test_tx.sh
      cmake_path: ./test/tx/cmake
      result_affix: ThreadX
      skip_deploy: true
  smp:
    permissions:
      contents: read
      issues: read
      checks: write
      pull-requests: write
      pages: write
      id-token: write
    uses: ./.github/workflows/regression_template.yml
    with:
      build_script: ./scripts/build_smp.sh
      test_script: ./scripts/test_smp.sh
      cmake_path: ./test/smp/cmake
      result_affix: SMP
      skip_deploy: true
  # Publishing is master's alone. The deploy job replaces the project's public
  # coverage site wholesale, so running it from any other branch would put that
  # branch's numbers up as the project's. The certification branch produces its
  # evidence as workflow artifacts instead.
  deploy:
    if: github.ref == 'refs/heads/master'
    permissions:
      contents: read
      issues: read
      checks: write
      pull-requests: write
      pages: write
      id-token: write
    needs: [tx, smp]
    uses: ./.github/workflows/regression_template.yml
    with:
      skip_test: true
      deploy_list: "ThreadX SMP"