feat: container build context config + full build log preservation#1110
feat: container build context config + full build log preservation#1110myakove wants to merge 2 commits into
Conversation
Code Review by Qodo
Context used 1. Truncation leaks partial secrets
|
|
Report bugs in Issues Welcome! 🎉This pull request will be automatically processed with the following features: 🔄 Automatic Actions
📋 Available CommandsPR Status Management
Review & Approval
Testing & Validation
Container Operations
Cherry-pick Operations
Label Management
✅ Merge RequirementsThis PR will be automatically approved when the following conditions are met:
📊 Review ProcessApprovers and ReviewersApprovers:
Reviewers:
Available Labels
AI Features
💡 Tips
For more information, please refer to the project documentation or contact the maintainers. |
- Add 'context' config option under container for non-root build context (#1065) - Log full redacted build output before truncation for debugging (#1090) - Extract _redact_output() helper for reusable secret redaction - Add path traversal validation for container context - Add schema pattern constraint for context value Closes #1090 Closes #1065
70d6c49 to
e76a427
Compare
|
Code review by qodo was updated up to the latest commit e76a427 |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
|
Code review by qodo was updated up to the latest commit db74d5a |
PR Summary by Qodo
Add container build context option and preserve full redacted build logs
✨ Enhancement🐞 Bug fix🧪 Tests⚙️ Configuration changes📝 Documentation🕐 20-40 MinutesWalkthroughs
User Description
Summary
Two container build improvements:
Full build log preservation (#1090)
_redact_output()helper for reusable secret redactionDocker build context from non-root directory (#1065)
contextconfig option undercontainerfor non-root build contextCloses #1090
Closes #1065
AI Description
Diagram
High-Level Assessment
The following are alternative approaches to this PR:
1. Use commonpath/is_relative_to for context validation
Path.is_relative_torequires Python 3.9+;commonpathstill needs careful normalization/symlink handling2. Persist full build logs as artifacts instead of debug logs
Recommendation: The PR’s approach is reasonable: config-driven context selection with realpath-based containment checks, plus pre-truncation redacted logging gated on truncation. If context validation edge cases become a concern, consider switching to
os.path.commonpath(orPath.resolve().is_relative_to()where supported) to express containment more directly.File Changes
Enhancement (2)
Bug fix (1)
Tests (3)
Documentation (1)
Other (1)