Darren Eastmanchanged title from Proposal to fully remove the cmd shell for Windows from GitLab Runner to Proposal to fully remove the CMD shell for Windows from GitLab Runner
changed title from Proposal to fully remove the cmd shell for Windows from GitLab Runner to Proposal to fully remove the CMD shell for Windows from GitLab Runner
If you do not feel the purpose of this issue matches one of the types, you may apply the typeignore label to exclude it from type tracking metrics and future prompts.
I have gitlab-runner 15.0.0 running on window and facing a problem "DEPRECATION: CMD shell is deprecated and will no longer be supported. I am basically running a powershell script in pipeline.
". When I change the config.toml file executer shell from cmd to powershell. Then I am getting the error "ERROR: Job failed: prepare environment: exit status 0xc0000142."
@nicolewilliams This one needs to be deferred to 17.0 for removal as we should validate there is no impact to users workflows. I will create a deprecation notice in the 16.0 release with the planned removal of 17.0
Darren Eastmanchanged title from Proposal to fully remove the CMD shell for Windows from GitLab Runner to Remove support for the CMD shell for Windows from GitLab Runner
changed title from Proposal to fully remove the CMD shell for Windows from GitLab Runner to Remove support for the CMD shell for Windows from GitLab Runner
Is there documentation on how to use Powershell to run CMD batch files? Or putting it another way, if I keep my existing CMD-based CI jobs but use Powershell Runners, is there any incompatibility? The logic is all in batch files, on .gitlab-ci.yml I just run those scripts.
We have a fairly big number of projects and they need to keep running through this transition.
We are 3 months away from the removal of this feature, is there any documentation on how to use powershell to run existing CMD batch files?
If I change the runners to powershell, do my existing .gitlab-ci.yml continue to run, if they just invoke CMD batch files?
If I upgrade the server but keep the runners on older versions, do the jobs continue to run?
@ratchade Thanks for digging that up. That's over 1 year old, have you had any change of running that with the new versions of Gitlab? Does it still work. That seems like an acceptable compromise to me.
From what I can tell, this will be removed on the release this month, right? Can we keep using older Gitlab Runner versions with the new v17 server version?
will this line continue to work properly if the runner is switched from "cmd" to "PowerShell" ( in the script: section of the .gitlab-ci.yml file ) ? - set PATH=C:\tools\Python\3.8.0;%PATH%
we have over 16,000 projects; many rely on Windows runners
if every pipeline needs to be updated; that will be an enormous task !!!
@steverae You have to touch all .gitlab-ci.yml files. SET PATH ... is only understood by cmd. For me the solution is to not upgrade to 17.x runners on Windows for the forseeable future.
The problem is that the runner-server interface might not keep working forever. Like @steverae I have a bunch of critical Windows runners, but only a dozen or so.
I think it would be feasible to document a way to run cmd scripts from Powershell, this is too old.
For now Gitlab Runner < 17 is still compatible with the latest Gitlab server version. Is there any documentation on how much longer this compatibility remains?