Add CI pipeline, testing infrastructure, and code quality tooling#16
Merged
wcoleman-rti merged 15 commits intomainfrom Apr 20, 2026
Merged
Add CI pipeline, testing infrastructure, and code quality tooling#16wcoleman-rti merged 15 commits intomainfrom
wcoleman-rti merged 15 commits intomainfrom
Conversation
- 10-job GitHub Actions CI pipeline (lint, build, unit, DDS comm, integration, GUI, security, module 02, module 04) - pytest test suites for Modules 01, 02, and 04 - conftest.py with auto-skip/fail for GUI and security prerequisites - ruff lint + format, clang-format for C++ sources - RTI Connext 7.3.1 via apt with cached installation - Security tests require rti_license.dat with Security Plugins feature - All GitHub Actions upgraded to Node.js 24 (checkout v5, setup-python v6, cache v5, upload-artifact v6, download-artifact v7) - OpenSSL fallback to system binary in platform_setup.py - Staggered C++ app starts to avoid headless SIGSEGV
- Module 01: Add TestXmlSetupErrors (NDDSHOME missing, non-empty XMLs) and TestKillAll (target lists, callable main) to test_scripts.py - Module 02: Add test_xml_config.py validating RecordingService and ReplayService XML structure (11 tests) - Module 04: Add ForgedPerms and ExpiredCert exfiltrator tests to test_threat_exfiltrator.py matching the injector test pattern - Module 04: Add test_xml_config.py validating ThreatParticipants.xml and ThreatQos.xml structure (11 tests) - Add 2026 copyright headers to all 13 test Python files
This was
linked to
issues
Apr 10, 2026
…Testing-Infrastructure
# Conflicts: # docs/release/CHANGELOG.md # modules/03-remote-teleoperation/Scenario2.md # modules/03-remote-teleoperation/scripts/launch_cds_cloud.py # modules/03-remote-teleoperation/scripts/launch_rs_active.py # modules/03-remote-teleoperation/scripts/launch_rs_cloud.py # modules/03-remote-teleoperation/scripts/launch_rs_passive.py # modules/03-remote-teleoperation/scripts/xml_setup.py # modules/03-remote-teleoperation/xml_config/CdsConfigCloud.xml # modules/03-remote-teleoperation/xml_config/RsConfigActive.xml # modules/04-security-threat/security/domain_scope/ThreatDomain/governance/ThreatDomain/ThreatDomain.xml # system_arch/qos/NonSecureAppsQos.xml # system_arch/qos/SecureAppsQos.xml # system_arch/scripts/platform_setup.py # system_arch/security/setup_security.py # system_arch/security/xml/03-remote-teleoperation/PermissionsRsActive.xml # system_arch/security/xml/03-remote-teleoperation/PermissionsRsCloud.xml # system_arch/security/xml/03-remote-teleoperation/PermissionsRsPassive.xml
- make markdownlint test environment-agnostic with deterministic markdown discovery - add parser contract + negative parsing tests - add security status tests for system and threat module - update docker test image/docs for markdownlint support - document test path selection and changelog entries
- Add module 01 src path to pytest conftest so Types imports resolve in launch tests\n- Add Docker test entrypoint that always starts Xvfb before executing overridden commands\n- Update Dockerfile to use entrypoint and keep default test command simple\n- Refresh docker-compose and Docker README usage examples around --rm --build run flow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a comprehensive GitHub Actions CI pipeline and pytest test suites across Modules 01, 02, and 04, along with project-wide code quality tooling.
CI Pipeline
Test Suites
Code Quality
Other Changes
TestQoS profile, identity certificate, and permissions for the test DDS participantSecureAppsQos.xmlupdated with test participant security config