diff --git a/.appveyor.yml b/.appveyor.yml index 7d774d31..6a297d46 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -3,18 +3,14 @@ image: Visual Studio 2017 environment: matrix: - - version: 1.12-rc + - version: 1.12 variant: windowsservercore-ltsc2016 - - version: 1.12-rc + - version: 1.12 variant: nanoserver-sac2016 - version: 1.11 variant: windowsservercore-ltsc2016 - version: 1.11 variant: nanoserver-sac2016 - - version: 1.10 - variant: windowsservercore-ltsc2016 - - version: 1.10 - variant: nanoserver-sac2016 install: - ps: | diff --git a/.travis.yml b/.travis.yml index 903a5e0d..30c80e04 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,11 @@ matrix: include: - os: windows dist: 1803-containers - env: VERSION=1.12-rc VARIANT=windows/windowsservercore-1803 + env: VERSION=1.12 VARIANT=windows/windowsservercore-1803 - os: linux - env: VERSION=1.12-rc VARIANT=stretch + env: VERSION=1.12 VARIANT=stretch - os: linux - env: VERSION=1.12-rc VARIANT=alpine3.9 - - os: linux - env: VERSION=1.12-rc VARIANT=alpine3.8 + env: VERSION=1.12 VARIANT=alpine3.9 - os: windows dist: 1803-containers env: VERSION=1.11 VARIANT=windows/windowsservercore-1803 @@ -21,15 +19,6 @@ matrix: env: VERSION=1.11 VARIANT=alpine3.9 - os: linux env: VERSION=1.11 VARIANT=alpine3.8 - - os: windows - dist: 1803-containers - env: VERSION=1.10 VARIANT=windows/windowsservercore-1803 - - os: linux - env: VERSION=1.10 VARIANT=stretch - - os: linux - env: VERSION=1.10 VARIANT=alpine3.9 - - os: linux - env: VERSION=1.10 VARIANT=alpine3.8 install: - git clone https://github.com/docker-library/official-images.git ~/official-images diff --git a/1.10/alpine3.8/Dockerfile b/1.10/alpine3.8/Dockerfile deleted file mode 100644 index 3a45e579..00000000 --- a/1.10/alpine3.8/Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM alpine:3.8 - -RUN apk add --no-cache \ - ca-certificates - -# set up nsswitch.conf for Go's "netgo" implementation -# - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275 -# - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf -RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf - -ENV GOLANG_VERSION 1.10.8 - -RUN set -eux; \ - apk add --no-cache --virtual .build-deps \ - bash \ - gcc \ - musl-dev \ - openssl \ - go \ - ; \ - export \ -# set GOROOT_BOOTSTRAP such that we can actually build Go - GOROOT_BOOTSTRAP="$(go env GOROOT)" \ -# ... and set "cross-building" related vars to the installed system's values so that we create a build targeting the proper arch -# (for example, if our build host is GOARCH=amd64, but our build env/image is GOARCH=386, our build needs GOARCH=386) - GOOS="$(go env GOOS)" \ - GOARCH="$(go env GOARCH)" \ - GOHOSTOS="$(go env GOHOSTOS)" \ - GOHOSTARCH="$(go env GOHOSTARCH)" \ - ; \ -# also explicitly set GO386 and GOARM if appropriate -# https://github.com/docker-library/golang/issues/184 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - armhf) export GOARM='6' ;; \ - x86) export GO386='387' ;; \ - esac; \ - \ - wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; \ - echo '6faf74046b5e24c2c0b46e78571cca4d65e1b89819da1089e53ea57539c63491 *go.tgz' | sha256sum -c -; \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - cd /usr/local/go/src; \ - ./make.bash; \ - \ - rm -rf \ -# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125 - /usr/local/go/pkg/bootstrap \ -# https://golang.org/cl/82095 -# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56 - /usr/local/go/pkg/obj \ - ; \ - apk del .build-deps; \ - \ - export PATH="/usr/local/go/bin:$PATH"; \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH - -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.12-rc/alpine3.8/Dockerfile b/1.12-rc/alpine3.8/Dockerfile deleted file mode 100644 index 1f408e65..00000000 --- a/1.12-rc/alpine3.8/Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM alpine:3.8 - -RUN apk add --no-cache \ - ca-certificates - -# set up nsswitch.conf for Go's "netgo" implementation -# - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275 -# - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf -RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf - -ENV GOLANG_VERSION 1.12rc1 - -RUN set -eux; \ - apk add --no-cache --virtual .build-deps \ - bash \ - gcc \ - musl-dev \ - openssl \ - go \ - ; \ - export \ -# set GOROOT_BOOTSTRAP such that we can actually build Go - GOROOT_BOOTSTRAP="$(go env GOROOT)" \ -# ... and set "cross-building" related vars to the installed system's values so that we create a build targeting the proper arch -# (for example, if our build host is GOARCH=amd64, but our build env/image is GOARCH=386, our build needs GOARCH=386) - GOOS="$(go env GOOS)" \ - GOARCH="$(go env GOARCH)" \ - GOHOSTOS="$(go env GOHOSTOS)" \ - GOHOSTARCH="$(go env GOHOSTARCH)" \ - ; \ -# also explicitly set GO386 and GOARM if appropriate -# https://github.com/docker-library/golang/issues/184 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - armhf) export GOARM='6' ;; \ - x86) export GO386='387' ;; \ - esac; \ - \ - wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; \ - echo 'ed1d4f8e8a33f0d4a59a2f642584c7c6375fce2f8a4edaece73309cf2c89b8ee *go.tgz' | sha256sum -c -; \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - cd /usr/local/go/src; \ - ./make.bash; \ - \ - rm -rf \ -# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125 - /usr/local/go/pkg/bootstrap \ -# https://golang.org/cl/82095 -# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56 - /usr/local/go/pkg/obj \ - ; \ - apk del .build-deps; \ - \ - export PATH="/usr/local/go/bin:$PATH"; \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH - -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.12-rc/alpine3.9/Dockerfile b/1.12-rc/alpine3.9/Dockerfile deleted file mode 100644 index 4f1866c6..00000000 --- a/1.12-rc/alpine3.9/Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM alpine:3.9 - -RUN apk add --no-cache \ - ca-certificates - -# set up nsswitch.conf for Go's "netgo" implementation -# - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275 -# - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf -RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf - -ENV GOLANG_VERSION 1.12rc1 - -RUN set -eux; \ - apk add --no-cache --virtual .build-deps \ - bash \ - gcc \ - musl-dev \ - openssl \ - go \ - ; \ - export \ -# set GOROOT_BOOTSTRAP such that we can actually build Go - GOROOT_BOOTSTRAP="$(go env GOROOT)" \ -# ... and set "cross-building" related vars to the installed system's values so that we create a build targeting the proper arch -# (for example, if our build host is GOARCH=amd64, but our build env/image is GOARCH=386, our build needs GOARCH=386) - GOOS="$(go env GOOS)" \ - GOARCH="$(go env GOARCH)" \ - GOHOSTOS="$(go env GOHOSTOS)" \ - GOHOSTARCH="$(go env GOHOSTARCH)" \ - ; \ -# also explicitly set GO386 and GOARM if appropriate -# https://github.com/docker-library/golang/issues/184 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - armhf) export GOARM='6' ;; \ - x86) export GO386='387' ;; \ - esac; \ - \ - wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; \ - echo 'ed1d4f8e8a33f0d4a59a2f642584c7c6375fce2f8a4edaece73309cf2c89b8ee *go.tgz' | sha256sum -c -; \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - cd /usr/local/go/src; \ - ./make.bash; \ - \ - rm -rf \ -# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125 - /usr/local/go/pkg/bootstrap \ -# https://golang.org/cl/82095 -# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56 - /usr/local/go/pkg/obj \ - ; \ - apk del .build-deps; \ - \ - export PATH="/usr/local/go/bin:$PATH"; \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH - -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.12-rc/release-architectures b/1.12-rc/release-architectures deleted file mode 100644 index 6b7fa2c8..00000000 --- a/1.12-rc/release-architectures +++ /dev/null @@ -1,9 +0,0 @@ -# see https://golang.org/dl/ - -# bashbrew-arch dpkg-arch golang-release-arch -amd64 amd64 amd64 -arm32v7 armhf armv6l -arm64v8 arm64 arm64 -i386 i386 386 -ppc64le ppc64el ppc64le -s390x s390x s390x diff --git a/1.12-rc/stretch/Dockerfile b/1.12-rc/stretch/Dockerfile deleted file mode 100644 index a8b9d5b4..00000000 --- a/1.12-rc/stretch/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -FROM buildpack-deps:stretch-scm - -# gcc for cgo -RUN apt-get update && apt-get install -y --no-install-recommends \ - g++ \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - && rm -rf /var/lib/apt/lists/* - -ENV GOLANG_VERSION 1.12rc1 - -RUN set -eux; \ - \ -# this "case" statement is generated via "update.sh" - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) goRelArch='linux-amd64'; goRelSha256='e5a03e1f2e065b17b2fbbd3429f18a6f51fe2848e0120586652b9f14ada72c9a' ;; \ - armhf) goRelArch='linux-armv6l'; goRelSha256='62126e4ca72e2fea9856fe0ec1a0f28cf1b385fb362d32cb56413c39cab318f8' ;; \ - arm64) goRelArch='linux-arm64'; goRelSha256='654b90f75902d501e2201a7b438965132fd1242a102f54529e9ff7dbbdf0d4bb' ;; \ - i386) goRelArch='linux-386'; goRelSha256='1d8615576655decbadeefcfaa6d5144b370dbea67fd4b426f58b573deedbd918' ;; \ - ppc64el) goRelArch='linux-ppc64le'; goRelSha256='cb6c7ba83ee8211da1d13d6db148adfdd6b86a790d3974d0c5702d229ca1da40' ;; \ - s390x) goRelArch='linux-s390x'; goRelSha256='40208d21fca8469c20054e67250f288ab62d68794690aa2c0324d67018ba99c2' ;; \ - *) goRelArch='src'; goRelSha256='ed1d4f8e8a33f0d4a59a2f642584c7c6375fce2f8a4edaece73309cf2c89b8ee'; \ - echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; \ - esac; \ - \ - url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; \ - wget -O go.tgz "$url"; \ - echo "${goRelSha256} *go.tgz" | sha256sum -c -; \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - if [ "$goRelArch" = 'src' ]; then \ - echo >&2; \ - echo >&2 'error: UNIMPLEMENTED'; \ - echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; \ - echo >&2; \ - exit 1; \ - fi; \ - \ - export PATH="/usr/local/go/bin:$PATH"; \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH - -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.12-rc/windows/nanoserver-sac2016/Dockerfile b/1.12-rc/windows/nanoserver-sac2016/Dockerfile deleted file mode 100644 index 8be87ef3..00000000 --- a/1.12-rc/windows/nanoserver-sac2016/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -FROM mcr.microsoft.com/windows/nanoserver:sac2016 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# no Git installed (intentionally) -# -- Nano Server is "Windows Slim" - -# ideally, this would be C:\go to match Linux a bit closer, but C:\go is the recommended install path for Go itself on Windows -ENV GOPATH C:\\gopath - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ -# Nano Server does not have "[Environment]::SetEnvironmentVariable()" - setx /M PATH $newPath; -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.12rc1 - -RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'cf3e163c6106f4f272816fa53d1e01e0cabff8dd797732f46513bbc5ea4f1843'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive go.zip -DestinationPath C:\; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.12-rc/windows/windowsservercore-1709/Dockerfile b/1.12-rc/windows/windowsservercore-1709/Dockerfile deleted file mode 100644 index d54cd1d3..00000000 --- a/1.12-rc/windows/windowsservercore-1709/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM mcr.microsoft.com/windows/servercore:1709 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# install MinGit (especially for "go get") -# https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/03/whats-new-in-git-for-windows-2-10/ -# "Essentially, it is a Git for Windows that was stripped down as much as possible without sacrificing the functionality in which 3rd-party software may be interested." -# "It currently requires only ~45MB on disk." -ENV GIT_VERSION 2.11.1 -ENV GIT_TAG v${GIT_VERSION}.windows.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/${GIT_TAG}/MinGit-${GIT_VERSION}-64-bit.zip -ENV GIT_DOWNLOAD_SHA256 668d16a799dd721ed126cc91bed49eb2c072ba1b25b50048280a4e2c5ed56e59 -# steps inspired by "chcolateyInstall.ps1" from "git.install" (https://chocolatey.org/packages/git.install) -RUN Write-Host ('Downloading {0} ...' -f $env:GIT_DOWNLOAD_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:GIT_DOWNLOAD_URL -OutFile 'git.zip'; \ - \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:GIT_DOWNLOAD_SHA256); \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_DOWNLOAD_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive -Path git.zip -DestinationPath C:\git\.; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item git.zip -Force; \ - \ - Write-Host 'Updating PATH ...'; \ - $env:PATH = 'C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin;' + $env:PATH; \ - [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \ - \ - Write-Host 'Verifying install ...'; \ - Write-Host ' git --version'; git --version; \ - \ - Write-Host 'Complete.'; - -# ideally, this would be C:\go to match Linux a bit closer, but C:\go is the recommended install path for Go itself on Windows -ENV GOPATH C:\\gopath - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.12rc1 - -RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'cf3e163c6106f4f272816fa53d1e01e0cabff8dd797732f46513bbc5ea4f1843'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive go.zip -DestinationPath C:\; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.12-rc/windows/windowsservercore-1803/Dockerfile b/1.12-rc/windows/windowsservercore-1803/Dockerfile deleted file mode 100644 index c0c8d263..00000000 --- a/1.12-rc/windows/windowsservercore-1803/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM mcr.microsoft.com/windows/servercore:1803 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# install MinGit (especially for "go get") -# https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/03/whats-new-in-git-for-windows-2-10/ -# "Essentially, it is a Git for Windows that was stripped down as much as possible without sacrificing the functionality in which 3rd-party software may be interested." -# "It currently requires only ~45MB on disk." -ENV GIT_VERSION 2.11.1 -ENV GIT_TAG v${GIT_VERSION}.windows.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/${GIT_TAG}/MinGit-${GIT_VERSION}-64-bit.zip -ENV GIT_DOWNLOAD_SHA256 668d16a799dd721ed126cc91bed49eb2c072ba1b25b50048280a4e2c5ed56e59 -# steps inspired by "chcolateyInstall.ps1" from "git.install" (https://chocolatey.org/packages/git.install) -RUN Write-Host ('Downloading {0} ...' -f $env:GIT_DOWNLOAD_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:GIT_DOWNLOAD_URL -OutFile 'git.zip'; \ - \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:GIT_DOWNLOAD_SHA256); \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_DOWNLOAD_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive -Path git.zip -DestinationPath C:\git\.; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item git.zip -Force; \ - \ - Write-Host 'Updating PATH ...'; \ - $env:PATH = 'C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin;' + $env:PATH; \ - [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \ - \ - Write-Host 'Verifying install ...'; \ - Write-Host ' git --version'; git --version; \ - \ - Write-Host 'Complete.'; - -# ideally, this would be C:\go to match Linux a bit closer, but C:\go is the recommended install path for Go itself on Windows -ENV GOPATH C:\\gopath - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.12rc1 - -RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'cf3e163c6106f4f272816fa53d1e01e0cabff8dd797732f46513bbc5ea4f1843'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive go.zip -DestinationPath C:\; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.12-rc/windows/windowsservercore-1809/Dockerfile b/1.12-rc/windows/windowsservercore-1809/Dockerfile deleted file mode 100644 index 5a9b9f69..00000000 --- a/1.12-rc/windows/windowsservercore-1809/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM mcr.microsoft.com/windows/servercore:1809 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# install MinGit (especially for "go get") -# https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/03/whats-new-in-git-for-windows-2-10/ -# "Essentially, it is a Git for Windows that was stripped down as much as possible without sacrificing the functionality in which 3rd-party software may be interested." -# "It currently requires only ~45MB on disk." -ENV GIT_VERSION 2.11.1 -ENV GIT_TAG v${GIT_VERSION}.windows.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/${GIT_TAG}/MinGit-${GIT_VERSION}-64-bit.zip -ENV GIT_DOWNLOAD_SHA256 668d16a799dd721ed126cc91bed49eb2c072ba1b25b50048280a4e2c5ed56e59 -# steps inspired by "chcolateyInstall.ps1" from "git.install" (https://chocolatey.org/packages/git.install) -RUN Write-Host ('Downloading {0} ...' -f $env:GIT_DOWNLOAD_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:GIT_DOWNLOAD_URL -OutFile 'git.zip'; \ - \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:GIT_DOWNLOAD_SHA256); \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_DOWNLOAD_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive -Path git.zip -DestinationPath C:\git\.; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item git.zip -Force; \ - \ - Write-Host 'Updating PATH ...'; \ - $env:PATH = 'C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin;' + $env:PATH; \ - [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \ - \ - Write-Host 'Verifying install ...'; \ - Write-Host ' git --version'; git --version; \ - \ - Write-Host 'Complete.'; - -# ideally, this would be C:\go to match Linux a bit closer, but C:\go is the recommended install path for Go itself on Windows -ENV GOPATH C:\\gopath - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.12rc1 - -RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'cf3e163c6106f4f272816fa53d1e01e0cabff8dd797732f46513bbc5ea4f1843'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive go.zip -DestinationPath C:\; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.12-rc/windows/windowsservercore-ltsc2016/Dockerfile b/1.12-rc/windows/windowsservercore-ltsc2016/Dockerfile deleted file mode 100644 index 952ccbfc..00000000 --- a/1.12-rc/windows/windowsservercore-ltsc2016/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM mcr.microsoft.com/windows/servercore:ltsc2016 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# install MinGit (especially for "go get") -# https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/03/whats-new-in-git-for-windows-2-10/ -# "Essentially, it is a Git for Windows that was stripped down as much as possible without sacrificing the functionality in which 3rd-party software may be interested." -# "It currently requires only ~45MB on disk." -ENV GIT_VERSION 2.11.1 -ENV GIT_TAG v${GIT_VERSION}.windows.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/${GIT_TAG}/MinGit-${GIT_VERSION}-64-bit.zip -ENV GIT_DOWNLOAD_SHA256 668d16a799dd721ed126cc91bed49eb2c072ba1b25b50048280a4e2c5ed56e59 -# steps inspired by "chcolateyInstall.ps1" from "git.install" (https://chocolatey.org/packages/git.install) -RUN Write-Host ('Downloading {0} ...' -f $env:GIT_DOWNLOAD_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:GIT_DOWNLOAD_URL -OutFile 'git.zip'; \ - \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:GIT_DOWNLOAD_SHA256); \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_DOWNLOAD_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive -Path git.zip -DestinationPath C:\git\.; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item git.zip -Force; \ - \ - Write-Host 'Updating PATH ...'; \ - $env:PATH = 'C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin;' + $env:PATH; \ - [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \ - \ - Write-Host 'Verifying install ...'; \ - Write-Host ' git --version'; git --version; \ - \ - Write-Host 'Complete.'; - -# ideally, this would be C:\go to match Linux a bit closer, but C:\go is the recommended install path for Go itself on Windows -ENV GOPATH C:\\gopath - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.12rc1 - -RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'cf3e163c6106f4f272816fa53d1e01e0cabff8dd797732f46513bbc5ea4f1843'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive go.zip -DestinationPath C:\; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.10/alpine3.9/Dockerfile b/1.12/alpine3.9/Dockerfile similarity index 93% rename from 1.10/alpine3.9/Dockerfile rename to 1.12/alpine3.9/Dockerfile index 4fd34216..7971f582 100644 --- a/1.10/alpine3.9/Dockerfile +++ b/1.12/alpine3.9/Dockerfile @@ -8,7 +8,7 @@ RUN apk add --no-cache \ # - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN set -eux; \ apk add --no-cache --virtual .build-deps \ @@ -37,7 +37,7 @@ RUN set -eux; \ esac; \ \ wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; \ - echo '6faf74046b5e24c2c0b46e78571cca4d65e1b89819da1089e53ea57539c63491 *go.tgz' | sha256sum -c -; \ + echo '09c43d3336743866f2985f566db0520b36f4992aea2b4b2fd9f52f17049e88f2 *go.tgz' | sha256sum -c -; \ tar -C /usr/local -xzf go.tgz; \ rm go.tgz; \ \ diff --git a/1.10/release-architectures b/1.12/release-architectures similarity index 100% rename from 1.10/release-architectures rename to 1.12/release-architectures diff --git a/1.10/stretch/Dockerfile b/1.12/stretch/Dockerfile similarity index 57% rename from 1.10/stretch/Dockerfile rename to 1.12/stretch/Dockerfile index 893a0535..54db0f12 100644 --- a/1.10/stretch/Dockerfile +++ b/1.12/stretch/Dockerfile @@ -9,20 +9,20 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ && rm -rf /var/lib/apt/lists/* -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN set -eux; \ \ # this "case" statement is generated via "update.sh" dpkgArch="$(dpkg --print-architecture)"; \ case "${dpkgArch##*-}" in \ - amd64) goRelArch='linux-amd64'; goRelSha256='d8626fb6f9a3ab397d88c483b576be41fa81eefcec2fd18562c87626dbb3c39e' ;; \ - armhf) goRelArch='linux-armv6l'; goRelSha256='6fdbc67524fc4c15fc87014869dddce9ecda7958b78f3cb1bbc5b0a9b61bfb95' ;; \ - arm64) goRelArch='linux-arm64'; goRelSha256='0921a76e78022ec2ae217e85b04940e2e9912b4c3218d96a827deedb9abe1c7b' ;; \ - i386) goRelArch='linux-386'; goRelSha256='10202da0b7f2a0f2c2ec4dd65375584dd829ce88ccc58e5fe1fa1352e69fecaf' ;; \ - ppc64el) goRelArch='linux-ppc64le'; goRelSha256='9054bcc7582ebb8a69ca43447a38e4b9ea11d08f05511cc7f13720e3a12ff299' ;; \ - s390x) goRelArch='linux-s390x'; goRelSha256='6f71b189c6cf30f7736af21265e992990cb0374138b7a70b0880cf8579399a69' ;; \ - *) goRelArch='src'; goRelSha256='6faf74046b5e24c2c0b46e78571cca4d65e1b89819da1089e53ea57539c63491'; \ + amd64) goRelArch='linux-amd64'; goRelSha256='750a07fef8579ae4839458701f4df690e0b20b8bcce33b437e4df89c451b6f13' ;; \ + armhf) goRelArch='linux-armv6l'; goRelSha256='ea0636f055763d309437461b5817452419411eb1f598dc7f35999fae05bcb79a' ;; \ + arm64) goRelArch='linux-arm64'; goRelSha256='b7bf59c2f1ac48eb587817a2a30b02168ecc99635fc19b6e677cce01406e3fac' ;; \ + i386) goRelArch='linux-386'; goRelSha256='3ac1db65a6fa5c13f424b53ee181755429df0c33775733cede1e0d540440fd7b' ;; \ + ppc64el) goRelArch='linux-ppc64le'; goRelSha256='5be21e7035efa4a270802ea04fb104dc7a54e3492641ae44632170b93166fb68' ;; \ + s390x) goRelArch='linux-s390x'; goRelSha256='c0aef360b99ebb4b834db8b5b22777b73a11fa37b382121b24bf587c40603915' ;; \ + *) goRelArch='src'; goRelSha256='09c43d3336743866f2985f566db0520b36f4992aea2b4b2fd9f52f17049e88f2'; \ echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; \ esac; \ \ diff --git a/1.10/windows/nanoserver-sac2016/Dockerfile b/1.12/windows/nanoserver-sac2016/Dockerfile similarity index 93% rename from 1.10/windows/nanoserver-sac2016/Dockerfile rename to 1.12/windows/nanoserver-sac2016/Dockerfile index 1afad684..df93ea60 100644 --- a/1.10/windows/nanoserver-sac2016/Dockerfile +++ b/1.12/windows/nanoserver-sac2016/Dockerfile @@ -16,13 +16,13 @@ RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ setx /M PATH $newPath; # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'ab63b55c349f75cce4b93aefa9b52828f50ebafb302da5057db0e686d7873d7a'; \ + $sha256 = '880ced1aecef08b3471a84381b6c7e2c0e846b81dd97ecb629b534d941f282bd'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.10/windows/windowsservercore-1709/Dockerfile b/1.12/windows/windowsservercore-1709/Dockerfile similarity index 96% rename from 1.10/windows/windowsservercore-1709/Dockerfile rename to 1.12/windows/windowsservercore-1709/Dockerfile index 5f2d1668..67da46d6 100644 --- a/1.10/windows/windowsservercore-1709/Dockerfile +++ b/1.12/windows/windowsservercore-1709/Dockerfile @@ -46,13 +46,13 @@ RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'ab63b55c349f75cce4b93aefa9b52828f50ebafb302da5057db0e686d7873d7a'; \ + $sha256 = '880ced1aecef08b3471a84381b6c7e2c0e846b81dd97ecb629b534d941f282bd'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.10/windows/windowsservercore-1803/Dockerfile b/1.12/windows/windowsservercore-1803/Dockerfile similarity index 96% rename from 1.10/windows/windowsservercore-1803/Dockerfile rename to 1.12/windows/windowsservercore-1803/Dockerfile index 4105966a..0000b626 100644 --- a/1.10/windows/windowsservercore-1803/Dockerfile +++ b/1.12/windows/windowsservercore-1803/Dockerfile @@ -46,13 +46,13 @@ RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'ab63b55c349f75cce4b93aefa9b52828f50ebafb302da5057db0e686d7873d7a'; \ + $sha256 = '880ced1aecef08b3471a84381b6c7e2c0e846b81dd97ecb629b534d941f282bd'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.10/windows/windowsservercore-1809/Dockerfile b/1.12/windows/windowsservercore-1809/Dockerfile similarity index 96% rename from 1.10/windows/windowsservercore-1809/Dockerfile rename to 1.12/windows/windowsservercore-1809/Dockerfile index ced97282..af5b0b3e 100644 --- a/1.10/windows/windowsservercore-1809/Dockerfile +++ b/1.12/windows/windowsservercore-1809/Dockerfile @@ -46,13 +46,13 @@ RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'ab63b55c349f75cce4b93aefa9b52828f50ebafb302da5057db0e686d7873d7a'; \ + $sha256 = '880ced1aecef08b3471a84381b6c7e2c0e846b81dd97ecb629b534d941f282bd'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.10/windows/windowsservercore-ltsc2016/Dockerfile b/1.12/windows/windowsservercore-ltsc2016/Dockerfile similarity index 96% rename from 1.10/windows/windowsservercore-ltsc2016/Dockerfile rename to 1.12/windows/windowsservercore-ltsc2016/Dockerfile index 83500644..79aaf736 100644 --- a/1.10/windows/windowsservercore-ltsc2016/Dockerfile +++ b/1.12/windows/windowsservercore-ltsc2016/Dockerfile @@ -46,13 +46,13 @@ RUN $newPath = ('{0}\bin;C:\go\bin;{1}' -f $env:GOPATH, $env:PATH); \ [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.10.8 +ENV GOLANG_VERSION 1.12 RUN $url = ('https://golang.org/dl/go{0}.windows-amd64.zip' -f $env:GOLANG_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'ab63b55c349f75cce4b93aefa9b52828f50ebafb302da5057db0e686d7873d7a'; \ + $sha256 = '880ced1aecef08b3471a84381b6c7e2c0e846b81dd97ecb629b534d941f282bd'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 9a058cf0..b027ba79 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,8 +2,8 @@ set -Eeuo pipefail declare -A aliases=( - [1.11]='1 latest' - [1.12-rc]='rc' + [1.12]='1 latest' + [1.13-rc]='rc' ) defaultDebianSuite='stretch'