Skip to content

Install bash on Windows helper images

Pierre Tardy requested to merge tardyp/gitlab-runner:helper-bash into main

What does this MR do?

Follow-up of my previous mr !1590 (closed) targeting to enable bash workflows on docker on windows builds. After discussion, we chose to modify the helper image so that it has bash available.

Easiest way is to use the git "setup.exe" distribution instead of the mingit zip distribution. Indeed, git for windows comes with git-bash, a bash port coming from the msys2 project.

The setup.exe version contains slightly more tools than needed, but it is considered not worth to remove the unneeded UI tools.

We also use the git-lfs version that comes with git for windows, and rely on git for windows maintainer to make sure git lfs is properly compatible.

If at some point we want another git-lfs we could anyway disable the lfs component, and install git-lfs manually as it was before.

Why was this MR needed?

When this MR is applied, windows on docker users can use powershell or bash as their build shell.

Are there points in the code the reviewer needs to double check?

The docker on windows helper do is not backed-up by automated integration tests, so manual QA needs to be done.

I did QA by myself, and verified LFS, artifacts, submodules functionalities are working.

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • [N/A] Added tests for this feature/bug
  • In case of conflicts with master - branch was rebased
  • Test it in my environment
  • Additional QA by @steveazz
    • Artifacts uploads
    • Cache uploads
    • 1809/1803 image builds are successful
    • Can run bash on docker-windows
    • Git-lfs

What are the relevant issue numbers?

#4725

@steveazz hopefully this is what you had in mind.

Edited by Steve Xuereb

Merge request reports