Deprecate windows batch
Description
Windows batch has unique inconsistencies when compared with PowerShell/Bash, which results in a high cost for maintainability and development. Windows Batch is already not being considered for windows docker executor. We should officially deprecate support for windows batch with the goal of removing it altogether.
Timeline
-
%11.11: In %11.11 we are going to announce the deprecation of Batch. At this point it no longer receives new feature development, but is supported for critical issues -
%12.0: In %12.0 We implement point 1 & 2 in the proposal below -
%13.0: In %13.0 we have deprecated the use of the Windows batch executor for the GitLab Runner. PowerShell is the default command shell when a new Runner is registered that uses the Windows executor starting with GitLab Runner 12.0. The Cmd shell remains included in future versions of GitLab Runner. However, any new Runner feature is to be tested and supported only for use with PowerShell.
Proposal
Below are the steps we should follow for deprecating windows batch:
-
Update documentation specifying that this is deprecated and should have the following information: -
The reason we are deprecating this !1371 (merged) -
Deprecated will follow the product definition at https://about.gitlab.com/handbook/product/#deprecated -
Provide a guide to the user how they should migrate away to batch, for example showing them how to invoke batch through PowerShell, for example Start-Process "cmd.exe" "/c C:\Path\file.bat"
!1412 (merged)
-
-
When a user registers a new runner shell executor we default to cmd
, but now it should default topowershell
!1406 (merged)
Edited by Darren Eastman