-
Notifications
You must be signed in to change notification settings - Fork 16
feat: replace bash integration test script with Python version #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: replace bash integration test script with Python version #77
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR replaces the bash-based integration test script (integration_test.sh) with a Python implementation (integration_test.py), modernizing the build infrastructure while maintaining the same functionality for building SCORE modules and tracking warning counts.
Changes:
- Removed the 356-line bash script and replaced it with a 393-line Python script
- Updated the GitHub Actions workflow to invoke the Python script instead of the bash script
- Maintained all existing functionality including module building, warning/deprecation counting, and build summary generation
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scripts/integration_test.sh | Complete removal of the bash-based integration test script |
| scripts/integration_test.py | New Python implementation providing the same integration test functionality with improved maintainability |
| .github/workflows/reusable_integration-build.yml | Updated workflow to call the Python script instead of the bash script |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
The created documentation from the pull request is available at: docu-html |
…afety Refactored codebase based on review findings to improve maintainability, type safety, and code organization: - Reorganized directory structure: moved tools/ → scripts/known_good/ - Created proper package structure with __init__.py files - Extracted build configuration to external JSON file (build_config.json) - Introduced dataclass models for better type safety: * BuildModuleConfig for build configuration * Module for repository module metadata * KnownGood for known_good.json structure - Separated concerns into dedicated model files: * scripts/models/build_config.py * scripts/known_good/models/module.py * scripts/known_good/models/known_good.py - Refactored all scripts to use KnownGood dataclass: * integration_test.py * override_known_good_repo.py * update_module_latest.py * update_module_from_known_good.py * known_good_to_workspace_metadata.py - Removed duplicate functions (load_modules, load_known_good, write_known_good) - Moved timestamp update logic into KnownGood.write() method - Improved exception handling to catch SystemExit from validation errors - Removed unused get_module_info.py - Eliminated sys.path.insert usage through proper package imports All functionality preserved while improving code quality and type correctness.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 19 out of 21 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
scripts/integration_test.py:1
- This line attempts to access the hash from the original known_good object, but at line 142, the hash has already been modified. This means old_hash will always equal the new hash. Store the original hash before modifying it at line 142 to correctly display the old -> new transition.
#!/usr/bin/env python3
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.