forked from rancher/rancher
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-windows.dapper
58 lines (52 loc) · 2 KB
/
Dockerfile-windows.dapper
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
FROM library/golang:1.19.1
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.44.0/golangci-lint-1.44.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.43.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"]