Skip to content

Added conditional dev CI routing - #427

Draft
fdesbiens wants to merge 2 commits into
eclipse-threadx:devfrom
fdesbiens:ci-conditional-dev-workflow
Draft

Added conditional dev CI routing#427
fdesbiens wants to merge 2 commits into
eclipse-threadx:devfrom
fdesbiens:ci-conditional-dev-workflow

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

Summary

  • Added a conditional dev workflow for pull requests and pushes targeting dev, plus manual full-suite dispatch.
  • Added a repository-local classifier and profile map using only Python standard-library and Git tooling.
  • Always runs NetXDuo/default_build_coverage as a real smoke build/test and adds affected profiles for component changes.
  • Conservatively selects every declared suite/profile for public headers, shared infrastructure, unreliable Git ranges, classifier failures, and unknown paths.
  • Reuses the measured eight-way NetXDuo partition for full fallbacks while keeping the smoke profile unique.
  • Added CI / dev gate aggregation that rejects failed, cancelled, or unexpectedly skipped selected jobs.
  • Cancels superseded pull-request runs while leaving push/manual runs independent.
  • Keeps the legacy regression workflow unchanged during rollout.

Validation

  • 31 classifier and gate regression tests passed.
  • Python standard-library trace reported 100% executable-line coverage for classify_changes.py and check_dev_gate.py.
  • The checked-in map matches every live CMake BUILD_CONFIGURATIONS list: NetXDuo 43, Web 3, PTP 3, MQTT 9, MQTT Interoperability 9, NetXDuo64 1, NetXDuo Fast 1, Secure 19, Secure Interoperability 18, and Crypto 4.
  • Full routing covers each of the 43 NetXDuo profiles exactly once between the mandatory smoke job and eight additional shards.
  • Workflow YAML, profile-map JSON, generated JUnit XML, coverage XML, and whitespace checks passed.
  • Local CMake/Ninja NetXDuo default_build_coverage smoke: 915 of 915 tests passed, with XML and HTML coverage reports generated by gcovr 8.6.
  • The local smoke build used the host GCC 13.3 because system package installation requires interactive sudo; the reusable worker continues to enforce Ubuntu 24.04 and GCC 14. No production C or assembly source changed in this PR.

Documentation

No documentation update is proposed because this changes CI policy and routing only; it does not add or alter a public NetX Duo API.

Added the dev pull-request and push workflow with mandatory smoke coverage, component-aware profile selection, conservative full fallbacks, and a stable aggregate gate. Added a validated profile map and regression coverage for classifier and gate behavior.

Assisted-by: Codex (gpt-5.6-sol) <codex@openai.com>
Exposed the DNS internal API prototypes to its dedicated error-checking regression target and tolerated the documented gcov suspicious-hit counter defect while retaining a warning.

Assisted-by: Codex (gpt-5.6-sol) <codex@openai.com>
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