You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Add post-checkout script execution support (#7)
Implement PowerShell script execution after successful repository checkouts
to enable integration with external dependency management systems.
Features:
- Post-checkout script configuration via "Post-Checkout Script File Name" and
"Post-Checkout Script File Path" fields in dependency files
- Scripts execute only after actual checkouts (new clones or tag changes)
- Environment variables provide checkout context (URL, path, tag, version)
- New object format for dependency files while maintaining legacy array compatibility
- -DisablePostCheckoutScripts parameter to disable script execution
- 5-minute timeout protection with comprehensive error handling
- Script execution statistics in summary reports
Configuration example:
```json
{
"Post-Checkout Script File Name": "setup-environment.ps1",
"Post-Checkout Script File Path": "scripts/build",
"Repositories": [...]
}
```
Benefits:
- Seamless integration with npm, NuGet, pip, and other package managers
- Automated build environment setup after repository checkout
- Support for custom workflows like security scanning and compliance checks
- Enhanced automation for CI/CD pipelines
- Maintains full backward compatibility with existing dependency files
Breaking Changes: None
- All existing dependency files continue to work without modification
- Legacy array format fully supported alongside new object format
- Post-checkout scripts are optional and disabled via command line parameter
Closes#7
Copy file name to clipboardExpand all lines: CHANGELOG.md
+103Lines changed: 103 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,109 @@ All notable changes to LsiGitCheckout will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [6.2.0] - 2025-01-24
9
+
10
+
### Added
11
+
-**Post-Checkout Script Execution**: Added support for executing PowerShell scripts after successful repository checkouts
12
+
-**New JSON Object Format**: Enhanced dependency file format with top-level configuration options while maintaining full backward compatibility with legacy array format
13
+
-**Post-Checkout Script File Name**: Optional field to specify PowerShell script name for execution after checkout
14
+
-**Post-Checkout Script File Path**: Optional field to specify subdirectory within repository where post-checkout script is located
-**-DisablePostCheckoutScripts Parameter**: Command line option to disable post-checkout script execution
17
+
-**Script Timeout Protection**: Automatic termination of scripts that exceed 5-minute execution limit
18
+
-**Comprehensive Script Logging**: Detailed logging of script discovery, execution, and results
19
+
-**Script Execution Statistics**: Summary reporting of script executions and failures
20
+
-**External Integration Support**: Enable integration with npm, NuGet, pip, and other dependency management systems via post-checkout scripts
21
+
22
+
### Changed
23
+
-**Enhanced JSON Format Support**: Now supports both new object format (`{"Repositories": [...]}`) and legacy array format (`[...]`)
24
+
-**Improved Repository Processing**: Post-checkout scripts execute for the repository containing the dependency file configuration, not for individual repositories listed in the dependency file
0 commit comments