diff --git a/.appveyor.yml b/.appveyor.yml index 2474de9e..dde9fec4 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -3,12 +3,10 @@ image: Visual Studio 2017 environment: matrix: - - version: 1.13-rc + - version: 1.13 variant: windowsservercore-ltsc2016 - version: 1.12 variant: windowsservercore-ltsc2016 - - version: 1.11 - variant: windowsservercore-ltsc2016 install: - ps: | diff --git a/.travis.yml b/.travis.yml index 2573e103..fa4b863c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,11 +5,11 @@ matrix: include: - os: windows dist: 1803-containers - env: VERSION=1.13-rc VARIANT=windows/windowsservercore-1803 + env: VERSION=1.13 VARIANT=windows/windowsservercore-1803 - os: linux - env: VERSION=1.13-rc VARIANT=buster + env: VERSION=1.13 VARIANT=buster - os: linux - env: VERSION=1.13-rc VARIANT=alpine3.10 + env: VERSION=1.13 VARIANT=alpine3.10 - os: windows dist: 1803-containers env: VERSION=1.12 VARIANT=windows/windowsservercore-1803 @@ -21,17 +21,6 @@ matrix: env: VERSION=1.12 VARIANT=alpine3.10 - os: linux env: VERSION=1.12 VARIANT=alpine3.9 - - os: windows - dist: 1803-containers - env: VERSION=1.11 VARIANT=windows/windowsservercore-1803 - - os: linux - env: VERSION=1.11 VARIANT=buster - - os: linux - env: VERSION=1.11 VARIANT=stretch - - os: linux - env: VERSION=1.11 VARIANT=alpine3.10 - - os: linux - env: VERSION=1.11 VARIANT=alpine3.9 install: - git clone https://github.com/docker-library/official-images.git ~/official-images diff --git a/1.11/alpine3.9/Dockerfile b/1.11/alpine3.9/Dockerfile deleted file mode 100644 index 790d5866..00000000 --- a/1.11/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.11.13 - -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 '5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076 *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.11/buster/Dockerfile b/1.11/buster/Dockerfile deleted file mode 100644 index 16244308..00000000 --- a/1.11/buster/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -FROM buildpack-deps:buster-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.11.13 - -RUN set -eux; \ - \ -# this "case" statement is generated via "update.sh" - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) goRelArch='linux-amd64'; goRelSha256='50fe8e13592f8cf22304b9c4adfc11849a2c3d281b1d7e09c924ae24874c6daa' ;; \ - armhf) goRelArch='linux-armv6l'; goRelSha256='513eb46158917662e1588cb89f51d11839730e46847778646c36c69c687bfdc5' ;; \ - arm64) goRelArch='linux-arm64'; goRelSha256='e94329c97b38b5bffe9c18e84e9f521dc995e02df7696897a7626293da9ac593' ;; \ - i386) goRelArch='linux-386'; goRelSha256='282e20167a7aaaba7b23de980696e1944a004efd0079e80d675d66b263ef595b' ;; \ - ppc64el) goRelArch='linux-ppc64le'; goRelSha256='ad3c7397ddd41a5af9d9bf3c560d3d0f8c1bdef4ac4d21819a021ea88e25efca' ;; \ - s390x) goRelArch='linux-s390x'; goRelSha256='bd00bd27e641450f165a37a83f1e83a4ef3c626ef5675b77184e9c0147257657' ;; \ - *) goRelArch='src'; goRelSha256='5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076'; \ - 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.11/stretch/Dockerfile b/1.11/stretch/Dockerfile deleted file mode 100644 index b32172d9..00000000 --- a/1.11/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.11.13 - -RUN set -eux; \ - \ -# this "case" statement is generated via "update.sh" - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) goRelArch='linux-amd64'; goRelSha256='50fe8e13592f8cf22304b9c4adfc11849a2c3d281b1d7e09c924ae24874c6daa' ;; \ - armhf) goRelArch='linux-armv6l'; goRelSha256='513eb46158917662e1588cb89f51d11839730e46847778646c36c69c687bfdc5' ;; \ - arm64) goRelArch='linux-arm64'; goRelSha256='e94329c97b38b5bffe9c18e84e9f521dc995e02df7696897a7626293da9ac593' ;; \ - i386) goRelArch='linux-386'; goRelSha256='282e20167a7aaaba7b23de980696e1944a004efd0079e80d675d66b263ef595b' ;; \ - ppc64el) goRelArch='linux-ppc64le'; goRelSha256='ad3c7397ddd41a5af9d9bf3c560d3d0f8c1bdef4ac4d21819a021ea88e25efca' ;; \ - s390x) goRelArch='linux-s390x'; goRelSha256='bd00bd27e641450f165a37a83f1e83a4ef3c626ef5675b77184e9c0147257657' ;; \ - *) goRelArch='src'; goRelSha256='5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076'; \ - 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.11/windows/windowsservercore-ltsc2016/Dockerfile b/1.11/windows/windowsservercore-ltsc2016/Dockerfile deleted file mode 100644 index 77249fbf..00000000 --- a/1.11/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.11.13 - -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 = '55752de84439d0ed744ad681ae0915314516e69091fb86cab9701628ce3a65ff'; \ - 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.13-rc/alpine3.10/Dockerfile b/1.13-rc/alpine3.10/Dockerfile deleted file mode 100644 index 318ebb6c..00000000 --- a/1.13-rc/alpine3.10/Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM alpine:3.10 - -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.13rc2 - -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 '0c7387b3be32718282a39faa3020ff30365ef70e64fa71e10017a986587b7fe9 *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.13-rc/release-architectures b/1.13-rc/release-architectures deleted file mode 100644 index 6b7fa2c8..00000000 --- a/1.13-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.13-rc/windows/nanoserver-1803/Dockerfile b/1.13-rc/windows/nanoserver-1803/Dockerfile deleted file mode 100644 index 17859a31..00000000 --- a/1.13-rc/windows/nanoserver-1803/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM mcr.microsoft.com/windows/nanoserver:1803 - -SHELL ["cmd", "/S", "/C"] - -# 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 -USER ContainerAdministrator -RUN setx /m PATH "%GOPATH%\bin;C:\go\bin;%PATH%" -USER ContainerUser -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.13rc2 - -COPY --from=golang:1.13rc2-windowsservercore-1803 C:\\go C:\\go -RUN go version - -WORKDIR $GOPATH diff --git a/1.13-rc/windows/nanoserver-1809/Dockerfile b/1.13-rc/windows/nanoserver-1809/Dockerfile deleted file mode 100644 index 5f213c7c..00000000 --- a/1.13-rc/windows/nanoserver-1809/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM mcr.microsoft.com/windows/nanoserver:1809 - -SHELL ["cmd", "/S", "/C"] - -# 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 -USER ContainerAdministrator -RUN setx /m PATH "%GOPATH%\bin;C:\go\bin;%PATH%" -USER ContainerUser -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.13rc2 - -COPY --from=golang:1.13rc2-windowsservercore-1809 C:\\go C:\\go -RUN go version - -WORKDIR $GOPATH diff --git a/1.13-rc/windows/windowsservercore-1803/Dockerfile b/1.13-rc/windows/windowsservercore-1803/Dockerfile deleted file mode 100644 index 78dfac68..00000000 --- a/1.13-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.13rc2 - -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 = 'ed34ad4b9594ab0d19b2fed9b07ea56c573279f46041b3c40a17c39a35bf285c'; \ - 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.13-rc/windows/windowsservercore-1809/Dockerfile b/1.13-rc/windows/windowsservercore-1809/Dockerfile deleted file mode 100644 index 4eb5631f..00000000 --- a/1.13-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.13rc2 - -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 = 'ed34ad4b9594ab0d19b2fed9b07ea56c573279f46041b3c40a17c39a35bf285c'; \ - 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.11/alpine3.10/Dockerfile b/1.13/alpine3.10/Dockerfile similarity index 93% rename from 1.11/alpine3.10/Dockerfile rename to 1.13/alpine3.10/Dockerfile index d6e7b2cc..f51e91b5 100644 --- a/1.11/alpine3.10/Dockerfile +++ b/1.13/alpine3.10/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.11.13 +ENV GOLANG_VERSION 1.13 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 '5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076 *go.tgz' | sha256sum -c -; \ + echo '3fc0b8b6101d42efd7da1da3029c0a13f22079c0c37ef9730209d8ec665bf122 *go.tgz' | sha256sum -c -; \ tar -C /usr/local -xzf go.tgz; \ rm go.tgz; \ \ diff --git a/1.13-rc/buster/Dockerfile b/1.13/buster/Dockerfile similarity index 57% rename from 1.13-rc/buster/Dockerfile rename to 1.13/buster/Dockerfile index 4684c8b5..d6f305f2 100644 --- a/1.13-rc/buster/Dockerfile +++ b/1.13/buster/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.13rc2 +ENV GOLANG_VERSION 1.13 RUN set -eux; \ \ # this "case" statement is generated via "update.sh" dpkgArch="$(dpkg --print-architecture)"; \ case "${dpkgArch##*-}" in \ - amd64) goRelArch='linux-amd64'; goRelSha256='3cd4490021a5f1f25a7440edca03910e40a38e587b578cf52ab7143a81db1861' ;; \ - armhf) goRelArch='linux-armv6l'; goRelSha256='deebe2b723c818293046629344f09ead1610fba608aea038bcf25da70766f944' ;; \ - arm64) goRelArch='linux-arm64'; goRelSha256='184c9fff6bba9da1cf23ba7f52561cc777ac7feaf73621b3824f4a30ffa4648d' ;; \ - i386) goRelArch='linux-386'; goRelSha256='5f5d235b73672ee5d26917d3907f8f1966af60d4391477a5afd4300d070ca852' ;; \ - ppc64el) goRelArch='linux-ppc64le'; goRelSha256='7656da8bb13e450754d5df35c7d21dafb5847b00779dcc08f3c41eec7d817037' ;; \ - s390x) goRelArch='linux-s390x'; goRelSha256='6016103bab62f1fe6b8f90665888a23ae8c825a8e7db7a607877298148e593cf' ;; \ - *) goRelArch='src'; goRelSha256='0c7387b3be32718282a39faa3020ff30365ef70e64fa71e10017a986587b7fe9'; \ + amd64) goRelArch='linux-amd64'; goRelSha256='68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856' ;; \ + armhf) goRelArch='linux-armv6l'; goRelSha256='931906d67cae1222f501e7be26e0ee73ba89420be0c4591925901cb9a4e156f0' ;; \ + arm64) goRelArch='linux-arm64'; goRelSha256='e2a61328101eff3b9c1ba47ecfec5eb2fdc3eb35d8c27d505737ba98bfcb197b' ;; \ + i386) goRelArch='linux-386'; goRelSha256='519b3e6ae4db011b93b60e6fabb055773ae6448355b6909a6befef87e02d98f5' ;; \ + ppc64el) goRelArch='linux-ppc64le'; goRelSha256='807b036bb058061b6090635e2a8612aaf301895dce70a773bbcd67fa1e57337c' ;; \ + s390x) goRelArch='linux-s390x'; goRelSha256='b7122795910b70b68e4118d0d34685a30925f4dd861c065cf20b699a7783807a' ;; \ + *) goRelArch='src'; goRelSha256='3fc0b8b6101d42efd7da1da3029c0a13f22079c0c37ef9730209d8ec665bf122'; \ 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.11/release-architectures b/1.13/release-architectures similarity index 100% rename from 1.11/release-architectures rename to 1.13/release-architectures diff --git a/1.11/windows/nanoserver-1803/Dockerfile b/1.13/windows/nanoserver-1803/Dockerfile similarity index 86% rename from 1.11/windows/nanoserver-1803/Dockerfile rename to 1.13/windows/nanoserver-1803/Dockerfile index dbdceb12..0eb0bd13 100644 --- a/1.11/windows/nanoserver-1803/Dockerfile +++ b/1.13/windows/nanoserver-1803/Dockerfile @@ -14,9 +14,9 @@ RUN setx /m PATH "%GOPATH%\bin;C:\go\bin;%PATH%" USER ContainerUser # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.11.13 +ENV GOLANG_VERSION 1.13 -COPY --from=golang:1.11.13-windowsservercore-1803 C:\\go C:\\go +COPY --from=golang:1.13-windowsservercore-1803 C:\\go C:\\go RUN go version WORKDIR $GOPATH diff --git a/1.11/windows/nanoserver-1809/Dockerfile b/1.13/windows/nanoserver-1809/Dockerfile similarity index 86% rename from 1.11/windows/nanoserver-1809/Dockerfile rename to 1.13/windows/nanoserver-1809/Dockerfile index ec5a1a48..8801c03c 100644 --- a/1.11/windows/nanoserver-1809/Dockerfile +++ b/1.13/windows/nanoserver-1809/Dockerfile @@ -14,9 +14,9 @@ RUN setx /m PATH "%GOPATH%\bin;C:\go\bin;%PATH%" USER ContainerUser # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.11.13 +ENV GOLANG_VERSION 1.13 -COPY --from=golang:1.11.13-windowsservercore-1809 C:\\go C:\\go +COPY --from=golang:1.13-windowsservercore-1809 C:\\go C:\\go RUN go version WORKDIR $GOPATH diff --git a/1.11/windows/windowsservercore-1803/Dockerfile b/1.13/windows/windowsservercore-1803/Dockerfile similarity index 96% rename from 1.11/windows/windowsservercore-1803/Dockerfile rename to 1.13/windows/windowsservercore-1803/Dockerfile index f17cabfa..9c506b77 100644 --- a/1.11/windows/windowsservercore-1803/Dockerfile +++ b/1.13/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.11.13 +ENV GOLANG_VERSION 1.13 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 = '55752de84439d0ed744ad681ae0915314516e69091fb86cab9701628ce3a65ff'; \ + $sha256 = '7d162b83157d3171961f8e05a55b7da8476244df3fac28a5da1c9e215acfea89'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.11/windows/windowsservercore-1809/Dockerfile b/1.13/windows/windowsservercore-1809/Dockerfile similarity index 96% rename from 1.11/windows/windowsservercore-1809/Dockerfile rename to 1.13/windows/windowsservercore-1809/Dockerfile index 40ca704b..6be40ac0 100644 --- a/1.11/windows/windowsservercore-1809/Dockerfile +++ b/1.13/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.11.13 +ENV GOLANG_VERSION 1.13 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 = '55752de84439d0ed744ad681ae0915314516e69091fb86cab9701628ce3a65ff'; \ + $sha256 = '7d162b83157d3171961f8e05a55b7da8476244df3fac28a5da1c9e215acfea89'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.13-rc/windows/windowsservercore-ltsc2016/Dockerfile b/1.13/windows/windowsservercore-ltsc2016/Dockerfile similarity index 96% rename from 1.13-rc/windows/windowsservercore-ltsc2016/Dockerfile rename to 1.13/windows/windowsservercore-ltsc2016/Dockerfile index 2a337b0b..4b690d73 100644 --- a/1.13-rc/windows/windowsservercore-ltsc2016/Dockerfile +++ b/1.13/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.13rc2 +ENV GOLANG_VERSION 1.13 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 = 'ed34ad4b9594ab0d19b2fed9b07ea56c573279f46041b3c40a17c39a35bf285c'; \ + $sha256 = '7d162b83157d3171961f8e05a55b7da8476244df3fac28a5da1c9e215acfea89'; \ 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 99eb1dee..d6844198 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,8 +2,8 @@ set -Eeuo pipefail declare -A aliases=( - [1.12]='1 latest' - [1.13-rc]='rc' + [1.13]='1 latest' + [1.14-rc]='rc' ) defaultDebianSuite='buster'