CI: Windows: Use separate config file for Docker
authorDaniel Stone <daniels@collabora.com>
Mon, 24 Aug 2020 19:40:49 +0000 (20:40 +0100)
committerMarge Bot <eric+marge@anholt.net>
Fri, 28 Aug 2020 10:15:40 +0000 (10:15 +0000)
Rather than relying on global state for 'docker login' credentials, use
a local file so we don't collide with other simultaneous builds.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6446>

.gitlab-ci/windows/mesa_container.ps1

index c688451983f7b9ed8b7997fe9003d3acf6bb186e..7a2f6c2378b69ccab25f0201375e3c4478d2b601 100644 (file)
@@ -9,28 +9,28 @@ $registry_central_image = $args[4]
 
 Set-Location -Path ".\.gitlab-ci\windows"
 
-docker login -u "$registry_username" -p "$registry_password" "$registry_uri"
+docker --config "windows-docker.conf" login -u "$registry_username" -p "$registry_password" "$registry_uri"
 if (!$?) {
   Write-Host "docker login failed to $registry_uri"
   Exit 1
 }
 
 # if the image already exists, don't rebuild it
-docker pull "$registry_user_image"
+docker --config "windows-docker.conf" pull "$registry_user_image"
 if ($?) {
   Write-Host "User image $registry_user_image already exists; not rebuilding"
-  docker logout "$registry_uri"
+  docker --config "windows-docker.conf" logout "$registry_uri"
   Exit 0
 }
 
 # if the image already exists upstream, copy it
-docker pull "$registry_central_image"
+docker --config "windows-docker.conf" pull "$registry_central_image"
 if ($?) {
   Write-Host "Copying central image $registry_central_image to user image $registry_user_image"
-  docker tag "$registry_central_image" "$registry_user_image"
-  docker push "$registry_user_image"
+  docker --config "windows-docker.conf" tag "$registry_central_image" "$registry_user_image"
+  docker --config "windows-docker.conf" push "$registry_user_image"
   $pushstatus = $?
-  docker logout "$registry_uri"
+  docker --config "windows-docker.conf" logout "$registry_uri"
   if (!$pushstatus) {
     Write-Host "Pushing image to $registry_user_image failed"
     Exit 1
@@ -39,17 +39,17 @@ if ($?) {
 }
 
 Write-Host "No image found at $registry_user_image or $registry_central_image; rebuilding"
-docker build --no-cache -t "$registry_user_image" .
+docker --config "windows-docker.conf" build --no-cache -t "$registry_user_image" .
 if (!$?) {
   Write-Host "Container build failed"
-  docker logout "$registry_uri"
+  docker --config "windows-docker.conf" logout "$registry_uri"
   Exit 1
 }
 Get-Date
 
-docker push "$registry_user_image"
+docker --config "windows-docker.conf" push "$registry_user_image"
 $pushstatus = $?
-docker logout "$registry_uri"
+docker --config "windows-docker.conf" logout "$registry_uri"
 if (!$pushstatus) {
   Write-Host "Pushing image to $registry_user_image failed"
   Exit 1