ci: add header standalone self-containment check

Summary

Add a CI job that compiles headers under include/libssh in isolation to catch include-order / self-containment regressions early.

This is meant to be a safety net: it keeps the pipeline green for known existing failures, but fails when a new standalone-header regression is introduced.

What this MR does

  • adds the header-standalone CI job
  • runs it after CMake configuration so generated headers are available
  • checks headers under include/libssh
  • uses an allowlist for currently known standalone-compilation failures
  • reports details in GitLab-friendly collapsible log sections
  • fails on regressions that are not already allowlisted

What this MR does not do

  • it does not fix all existing failing headers
  • it does not try to make every header self-contained in one step

Follow-up work

  • remove allowlist entries as headers are fixed or start passing consistently
  • keep the job as a regression net for future changes

Checklist

  • Commits have Signed-off-by: with name/author being identical to the commit author
  • Code modified for feature
  • Test suite updated with functionality tests
  • Test suite updated with negative tests
  • Documentation updated
  • The project pipelines timeout is extended at least to 2 hours.

Reviewer's checklist:

  • Any issues marked for closing are addressed
  • There is a test suite reasonably covering new functionality or modifications
  • Function naming, parameters, return values, types, etc., are consistent and according to CONTRIBUTING.md
  • This feature/change has adequate documentation added
  • No obvious mistakes in the code
Edited by Himaneesh Mishra

Merge request reports

Loading