#10192 fix(core): Prevent include_paths from escaping project root (#10182)
Pull request opened by
edgarrmondragon
Description
Checklist
• I have read the
contribution guide
Was generative AI tooling used to co-author this PR?
• Yes (please specify the tool below)
Related Issues
• Closes #XXXX
Summary by Sourcery
Enforce that meltano project and included config files stay within the project root and adjust integration test coverage and expectations accordingly.
Bug Fixes:
• Prevent include_paths glob patterns and the main meltano.yml path from resolving to files outside the project root, including via symlinks or non-file matches.
Enhancements:
• Introduce stronger typing and internal invariants around project file paths to ensure only validated in-project files are read and written.
• Ensure meltano.yml is always represented in the split configuration map, even when empty, and simplify error logging messages.
CI:
• Broaden integration test workflow path filters to run when changes occur anywhere under the integration directory.
Tests:
• Add tests covering invalid include_paths scenarios, path traversal and symlink traversal attempts, non-YAML includes, and project roots that mismatch meltano.yml locations.
• Update integration test validation script to reflect new dbt output format including REUSED in the summary.
meltano/meltano