anchor.diff:      let result =
           ExecProcess (fun info ->
               info.FileName <- "docker"
  -            info.Arguments <- sprintf "build -t %s/%s ." dockerLoginServer dockerImageName) TimeSpan.MaxValue
  +            info.Arguments <- sprintf "build -t %s/%s ." (dockerLoginServer.Force()) dockerImageName) TimeSpan.MaxValue
       if result <> 0 then failwith "Docker build failed"
   )
   
  
positive.code: // Pattern specifying assemblies to be tested using expecto
  let clientTestExecutables = "test/UITests/**/bin/**/*Tests*.exe"
  
  let dockerUser = "forki"
  let dockerLoginServer = "forki.azurecr.io"
  let dockerImageName = "fable-suave"
  
  // --------------------------------------------------------------------------------------
  
negative.code:         ExecProcess (fun info ->
              info.FileName <- "docker"
              info.WorkingDirectory <- deployDir
              info.Arguments <- sprintf "login %s --username \"%s\" --password \"%s\"" (dockerLoginServer.Force()) (dockerUser.Force()) (dockerPassword.Force())) TimeSpan.MaxValue
      if result <> 0 then failwith "Docker login failed"
  
      let result =
          ExecProcess (fun info ->
              info.FileName <- "docker"
              info.WorkingDirectory <- deployDir
              info.Arguments <- sprintf "push %s/%s" (dockerLoginServer.Force()) dockerImageName) TimeSpan.MaxValue
      if result <> 0 then failwith "Docker push failed"
  )
  
  