mirror of
https://github.com/eclipse-threadx/threadx.git
synced 2026-10-06 06:59:08 +08:00
Running the regression suites on dev (#652) was meant to test the branch the pull requests target. It changed what gets published as well, which was not intended and does not work: the first push to dev after that merge failed with Branch "dev" is not allowed to deploy to github-pages due to environment protection rules. All three suites passed in that run -- tx, smp and freertos. The only failure was deploy / deploy_code_coverage, rejected before it ran, because the github-pages environment restricts deployments to master. The guard goes here rather than in the environment settings, because the environment rule is doing its job. Which branch the published coverage report describes is a deliberate decision, and moving it from master to dev is a change worth making on purpose rather than as a side effect of a trigger fix. Doing so needs the environment setting relaxed as well as this line removed. The per-suite deploy_code_coverage jobs need no guard: tx, smp and freertos all pass skip_deploy: true, and regression_template.yml already restricts that job to push and workflow_dispatch. Only the deploy job, which is the one that publishes, was reaching the environment. Assisted-by: Claude Opus 5 <noreply@anthropic.com>
117 lines
4.0 KiB
YAML
117 lines
4.0 KiB
YAML
name: regression_test
|
|
|
|
# Runs the ThreadX, SMP and FreeRTOS-compatibility regression suites.
|
|
#
|
|
# dev is included as well as master, for the same reason ports_arch_check.yml
|
|
# names it: dev is the integration branch, so a check that runs only against
|
|
# master gates nothing that anybody opens. Until now these suites ran on no
|
|
# pull request that anybody actually raised, and the last dev run of any kind
|
|
# was a manual workflow_dispatch.
|
|
#
|
|
# That run, on 2026-08-18, failed two tests: threadx_timer_simple_test in the
|
|
# ThreadX suite and threadx_thread_priority_change in the SMP one. Both are
|
|
# fixed -- the first by running the suites one test at a time (#643), the
|
|
# second by #647 -- and both suites now pass all 1030 tests across all ten
|
|
# build configurations. The suites were never the problem; the trigger was.
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [ master, dev ]
|
|
pull_request:
|
|
branches: [ master, dev ]
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
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
|
|
freertos:
|
|
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_freertos.sh
|
|
test_script: ./scripts/test_freertos.sh
|
|
cmake_path: ./test/freertos/cmake
|
|
result_affix: FreeRTOS
|
|
skip_deploy: true
|
|
# No coverage build configuration yet; the suite covers the creation
|
|
# paths of the layer rather than all of it.
|
|
skip_coverage: true
|
|
# riscv: disabled — re-enable when RISC-V CI is ready
|
|
# riscv:
|
|
# permissions:
|
|
# contents: read
|
|
# issues: read
|
|
# checks: write
|
|
# pull-requests: write
|
|
# pages: write
|
|
# id-token: write
|
|
# uses: ./.github/workflows/regression_template.yml
|
|
# with:
|
|
# install_script: ./scripts/install_riscv.sh
|
|
# build_script: ./scripts/build_tx_riscv.sh
|
|
# test_script: ./scripts/test_tx_riscv.sh
|
|
# cmake_path: ./test/tx/cmake/riscv
|
|
# result_affix: RISC-V
|
|
# skip_deploy: true
|
|
# skip_coverage: true
|
|
deploy:
|
|
# Publishing the coverage report stays on master. Adding dev to this
|
|
# workflow's triggers was meant to run the suites on the branch the pull
|
|
# requests target, not to change what gets published -- and the first
|
|
# push to dev after that change failed here with 'Branch "dev" is not
|
|
# allowed to deploy to github-pages due to environment protection rules',
|
|
# while all three suites passed. The github-pages environment restricts
|
|
# deployments to master, so the job was rejected before it ran.
|
|
#
|
|
# Guarding here rather than relaxing the environment rule, because the
|
|
# rule is doing its job: it is a deliberate answer to the question of
|
|
# which branch the published report describes. Moving that answer to dev
|
|
# is a separate decision, and it needs the environment setting changed
|
|
# as well as this line removed.
|
|
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" |