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-standaloneCI 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