Skip to content

Gated LevelX dev changes on all Linux regression configurations - #90

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:ci-regression-gate
Sep 25, 2026
Merged

fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:ci-regression-gate

Conversation

@fdesbiens

@fdesbiens fdesbiens commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Regression CI only ran for master, fetched moving dependencies and reported default-only coverage. The GCC 14 baseline passed 30/30 tests in 95.38 seconds summed across configurations, with 1,424/2,183 lines (65.23%) and 664/1,113 branches (59.66%) covered. The legacy collector selected an incompatible system gcov; baseline coverage was measured with gcov 14.

Pinned ThreadX and the verified FileX #106 head (still open), enabled all ten Linux configurations on dev, modernized installation, and merged repository-relative coverage. Added exhaustive page ECC tests and input-validation checks. Coverage floors are 68.0% lines and 65.4% branches. Deployment remains limited to master; the called test job retains its narrow token permissions. No Windows job is added. Requiring run_tests / run_tests on dev needs an administrator: GitHub rejected branch-protection and ruleset updates. Dependabot activates when its configuration reaches the default branch.

Local GCC 14 validation passed 40/40 tests; the complete runner took 72.68 seconds. Merged coverage is 1,632/2,400 lines (68.00%) and 1,596/2,439 branches (65.44%). All ten nonempty profiles contribute to the exact source-line union. Remaining gaps are 768 lines and 843 branches, chiefly simulator adapters, NOR reclaim/open, NAND data movement and media-error paths; none are excluded. A deliberately failing test returned 8 after every configuration completed and preserved coverage; a missing input returned 1. Empty and unmeasured JSON/XML inputs were rejected. actionlint, ShellCheck and whitespace checks passed. Real CI passed 40/40 tests on GCC/gcov 14.2.0 with identical coverage. Installation took 19 seconds, builds 46 seconds, the test/coverage step 119 seconds, and the Linux job 204 seconds. All ten artifact inputs and the exact merged union were verified. ECA passed; deployment was skipped.

Configuration Baseline tests / seconds Final local tests / seconds CI tests / seconds
default_build_coverage 3 / 45.06 4 / 45.18 4 / 92.85
free_sector_verify_build 3 / 5.67 4 / 54.15 4 / 92.20
full_build 3 / 5.60 4 / 44.94 4 / 92.86
new_driver_interface_build 3 / 5.62 4 / 54.33 4 / 88.67
nor_mapping_cache_build 3 / 5.62 4 / 45.30 4 / 92.70
nor_obsolete_cache_build 3 / 5.61 4 / 53.12 4 / 90.64
nor_obsolete_mapping_cache_build 3 / 5.58 4 / 46.07 4 / 91.49
standalone_build 3 / 5.53 4 / 56.02 4 / 37.19
standalone_free_sector_verify_build 3 / 5.54 4 / 51.48 4 / 37.14
standalone_full_build 3 / 5.55 4 / 44.63 4 / 37.18

Regression CI only covered master, fetched moving dependencies, and measured only the
default configuration. The legacy collector could select gcov from a different compiler
version.

Pinned compatible ThreadX and FileX revisions, enabled the dev gate on Ubuntu 24.04 with
GCC 14, and merged all ten coverage profiles. Added exhaustive single-bit page ECC tests
and coverage-input checks. Enforced measured floors of 68.0% lines and 65.4% branches
while retaining uncovered sources.

GCC 14 baseline: 30/30 tests, 95.38 seconds summed across configurations. Final matrix:
40/40 tests; complete runner 72.68 seconds. Coverage: 1632/2400 lines and 1596/2439
branches. An injected test failure returned 8 with coverage retained; a missing input
returned 1. Empty and unmeasured inputs were rejected. actionlint, ShellCheck and
whitespace checks passed.

Assisted-by: Codex (GPT-6) <noreply@openai.com>
heurtematte pushed a commit to eclipse-threadx/.eclipsefdn that referenced this pull request Sep 25, 2026
ThreadX, NetX Duo, FileX, LevelX, USBX and GUIX have no dev protection rules, so their
regression results do not prevent merging failing pull requests.

Added dev rulesets using the existing ECA, review and project-lead bypass policy.
ThreadX and NetX Duo enforce their established regression checks. The other four
rulesets remain disabled until their dev workflows are ready: FileX requires eclipse-
threadx/filex#106, LevelX requires eclipse-threadx/levelx#90, USBX needs automatic dev
regression runs, and GUIX needs dev triggers plus distinct Studio job names. Each staged
ruleset needs an explicit enforcement update after its rollout.

Otterdog 1.6.1 schema/model validation passed. Comparing rendered configurations found
exactly six added dev rulesets: two active and four disabled. All existing settings,
master rulesets and Pages policies are unchanged. Verified the inherited
ECA/review/bypass policy and all thirteen configured regression check names. Whitespace
checks passed.

Assisted-by: Codex (GPT-6) <noreply@openai.com>
@fdesbiens
fdesbiens merged commit 9fb3620 into eclipse-threadx:dev Sep 25, 2026
3 checks passed
@fdesbiens
fdesbiens deleted the ci-regression-gate branch September 25, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant