FROM library/golang:1.22 SHELL ["powershell", "-NoLogo", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG DAPPER_HOST_ARCH ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} RUN pushd c:\; \ $URL = 'https://github.com/StefanScherer/docker-cli-builder/releases/download/20.10.5/docker.exe'; \ \ Write-Host ('Downloading docker from {0} ...' -f $URL); \ curl.exe -sfL $URL -o c:\Windows\docker.exe; \ \ Write-Host 'Complete.'; \ popd; RUN pushd c:\; \ $URL = 'https://github.com/golangci/golangci-lint/releases/download/v1.59.0/golangci-lint-1.59.0-windows-amd64.zip'; \ \ Write-Host ('Downloading golangci from {0} ...' -f $URL); \ curl.exe -sfL $URL -o c:\golangci-lint.zip; \ \ Write-Host 'Expanding ...'; \ Expand-Archive -Path c:\golangci-lint.zip -DestinationPath c:\; \ \ Write-Host 'Cleaning ...'; \ Remove-Item -Force -Recurse -Path c:\golangci-lint.zip; \ \ Write-Host 'Updating PATH ...'; \ [Environment]::SetEnvironmentVariable('PATH', ('c:\golangci-lint-1.56.0-windows-amd64\;{0}' -f $env:PATH), [EnvironmentVariableTarget]::Machine); \ \ Write-Host 'Complete.'; \ popd; # upgrade git RUN pushd c:\; \ $URL = 'https://github.com/git-for-windows/git/releases/download/v2.33.1.windows.1/MinGit-2.33.1-64-bit.zip'; \ \ Write-Host ('Downloading git from {0} ...' -f $URL); \ curl.exe -sfL $URL -o c:\git.zip; \ \ Write-Host 'Expanding ...'; \ Expand-Archive -Force -Path c:\git.zip -DestinationPath c:\git\.; \ \ Write-Host 'Cleaning ...'; \ Remove-Item -Force -Recurse -Path c:\git.zip; \ \ Write-Host 'Complete.'; \ popd; ENV DAPPER_ENV REPO TAG DRONE_TAG FOSSA_API_KEY ENV DAPPER_SOURCE /gopath/src/github.com/rancher/rancher ENV DAPPER_OUTPUT ./bin ENV DAPPER_DOCKER_SOCKET true ENV HOME ${DAPPER_SOURCE} WORKDIR ${DAPPER_SOURCE} ENTRYPOINT ["powershell", "-NoLogo", "-NonInteractive", "-File", "./scripts/windows/entry.ps1"] CMD ["ci"]