Skip to content

Added conditional dev CI routing - #427

Merged
fdesbiens merged 12 commits into
eclipse-threadx:devfrom
fdesbiens:ci-conditional-dev-workflow
Aug 25, 2026
Merged

Added conditional dev CI routing#427
fdesbiens merged 12 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>
@fdesbiens
fdesbiens marked this pull request as ready for review August 24, 2026 19:34
Capped individual interoperability tests at 180 seconds so retryable hangs cannot consume the complete workflow budget.\n\nAssisted-by: Codex (gpt-5.6-sol)
Scope OpenSSL's legacy server connection opt-in to interoperability profiles that deliberately disable RFC 5746 support. Cover both the default and opt-in wrapper behavior.

Assisted-by: Codex (gpt-5.6-sol)
Permit legacy server connections only for DTLS and RFC 5746-disabled profiles, and keep legacy cases on TLS 1.2 in TLS 1.3-enabled builds unless a protocol is explicit. Extend the bounded OpenSSL startup window for loaded runners and cover the client wrapper behavior.

Assisted-by: Codex (gpt-5.6-sol)
Resolve the ECC CA certificate relative to the OpenSSL client script, matching the wrapper's execution directory and the other certificate-bearing interoperability cases.

Assisted-by: Codex (gpt-5.6-sol)
Assisted-by: Codex (gpt-5.6-sol)
Assisted-by: Codex (gpt-5.6-sol)
Assisted-by: Codex (gpt-5.6-sol)
Assisted-by: Codex (gpt-5.6-sol)
@fdesbiens
fdesbiens merged commit 2c4e58f into eclipse-threadx:dev Aug 25, 2026
26 checks passed
@fdesbiens
fdesbiens deleted the ci-conditional-dev-workflow branch August 25, 2026 20:43
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