Skip to content

Feat/Connext 7.7.0 migration#19

Merged
wcoleman-rti merged 34 commits into
mainfrom
feat/connext-7-7-0-migration
Jun 2, 2026
Merged

Feat/Connext 7.7.0 migration#19
wcoleman-rti merged 34 commits into
mainfrom
feat/connext-7-7-0-migration

Conversation

@wcoleman-rti

Copy link
Copy Markdown
Collaborator

wcoleman-rti and others added 30 commits April 29, 2026 09:45
- Pin Ruff to 0.15.12 consistently across all config files (pyproject.toml, requirements-dev.txt, pre-commit-config.yaml, CI)
- Add required-version and preview mode to Ruff config
- Expand lint rule families: B (bugbear), BLE (blind-except), ARG (unused-arguments), PLW1514 (explicit-encoding)
- Narrow blanket test F401 ignore, keep only test_markdown_lint.py
- Refactor sys.path setup order in launch.py, build.py, tests/test_build.py, modules/01-operating-room/tests/conftest.py
- Move path variable assignments to after sys.path.insert calls to satisfy E402 naturally
- Remove E402 per-file ignores from pyproject.toml
- Remove noqa:E402 comment from conftest.py

This introduces 54 lint findings to be fixed in a subsequent cleanup commit.
- Refactor modules/02-record-playback/tests/conftest.py to move path assignments after sys.path.insert
- Refactor modules/04-security-threat/tests/conftest.py to move path assignments after sys.path.insert
- Remove all # noqa: E402 comments (previously in 01, 02, 04 conftest files)
- Remove unnecessary F401 suppress from pyproject.toml per-file-ignores

All path bootstrapping now follows the same pattern: import setup → sys.path modification → import → variable assignments.
E402 is naturally satisfied without suppressions.
- Remove custom Ruff excludes and non-default lint tuning from pyproject.toml
- Apply Ruff autofixes across repository
- Refactor remaining E402 cases in threat security/source files to satisfy import ordering without suppressions
- Keep Ruff version pin for deterministic CI/dev behavior

Result: ruff check . passes against full repository scope.
…, normalize line endings

- Replace markdownlint-cli2 with rumdl (Python-based, config in pyproject.toml)
- Switch CI lint job to pre-commit/action (unified gates, deterministic versions)
- Add dedicated CMake pytest job to CI (tests/test_build.py coverage)
- Bump pre-commit hooks to latest: v6.0.0, clang-format v22.1.4, rumdl v0.1.84
- Add new pre-commit hooks: requirements-txt-fixer, name-tests-test, check-illegal-windows-names
- Make Python entry-point scripts executable (chmod +x): build.py, launch.py, setup_security.py, etc.
- Normalize line endings to LF repo-wide with bidirectional enforcement:
  * mixed-line-ending-lf: enforce LF on all non-batch files
  * mixed-line-ending-crlf: enforce CRLF on Windows scripts (.bat, .cmd, .ps1)
- Add .gitattributes for cross-platform line ending policy (text=auto eol=lf)
- Remove test_markdown_lint.py (markdown linting now in pre-commit)
- Update Docker image to remove Node.js/markdownlint installation
- Update docs/CONTRIBUTING.md to reflect rumdl and pre-commit/action
- Update CI workflow to use 7.7.0 and x64Linux4gcc8.5.0 architecture
- Update Dockerfile defaults to 7.7.0 with dynamic NDDSHOME/CONNEXTDDS_ARCH sourcing
- Update entrypoint.sh to use environment variables instead of hardcoded paths
- Update all XML configuration files (DDS profiles, security, routing) to reference 7.7.0 schema
- Update CMakeLists.txt minimum find_package version to 7.7.0
- Update all documentation and module README.md files to reference 7.7.0
- Update documentation links throughout to point to 7.7.0 docs
- Update .pre-commit-config.yaml to exclude helper test support modules from naming check
- Clean public-facing documentation: 7.7.0 is now the stated requirement (7.3.x best-effort support is private)

Tests successfully pass on 7.7.0 architecture (x64Linux4gcc8.5.0).
- Add EXTRA_ARGS -standard IDL4_CPP to all LANG C++11 connextdds_rtiddsgen_run()
  calls in modules/01-operating-room and modules/04-security-threat CMakeLists
- Convert getter/setter method calls to direct public member access in
  PatientSensor.cxx, ArmController.cxx, and Orchestrator.cxx per IDL4_CPP
  generated type convention
- Wrap omg::types::string_view constants with std::string() at Connext API
  call sites (create_participant_from_config, find_datawriter_by_name,
  find_datareader_by_name) in all three source files and SecureLogUtils.hpp
@wcoleman-rti wcoleman-rti merged commit 3e6d0dc into main Jun 2, 2026
4 checks passed
@wcoleman-rti wcoleman-rti deleted the feat/connext-7-7-0-migration branch June 2, 2026 18:07
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.

Bump to RTI Connext 7.3.1 LTS and/or 7.7.0 LTS

2 participants