diff --git a/1.18/alpine3.16/Dockerfile b/1.18/alpine3.16/Dockerfile deleted file mode 100644 index 1d91636f..00000000 --- a/1.18/alpine3.16/Dockerfile +++ /dev/null @@ -1,107 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -RUN apk add --no-cache ca-certificates - -ENV PATH /usr/local/go/bin:$PATH - -ENV GOLANG_VERSION 1.18.10 - -RUN set -eux; \ - apk add --no-cache --virtual .fetch-deps gnupg; \ - arch="$(apk --print-arch)"; \ - url=; \ - case "$arch" in \ - 'x86_64') \ - export GOAMD64='v1' GOARCH='amd64' GOOS='linux'; \ - ;; \ - 'armhf') \ - export GOARCH='arm' GOARM='6' GOOS='linux'; \ - ;; \ - 'armv7') \ - export GOARCH='arm' GOARM='7' GOOS='linux'; \ - ;; \ - 'aarch64') \ - export GOARCH='arm64' GOOS='linux'; \ - ;; \ - 'x86') \ - export GO386='softfloat' GOARCH='386' GOOS='linux'; \ - ;; \ - 'ppc64le') \ - export GOARCH='ppc64le' GOOS='linux'; \ - ;; \ - 's390x') \ - export GOARCH='s390x' GOOS='linux'; \ - ;; \ - *) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \ - esac; \ - build=; \ - if [ -z "$url" ]; then \ -# https://github.com/golang/go/issues/38536#issuecomment-616897960 - build=1; \ - url='https://dl.google.com/go/go1.18.10.src.tar.gz'; \ - sha256='9cedcca58845df0c9474ae00274c44a95c9dfaefb132fc59921c28c7c106f8e6'; \ -# the precompiled binaries published by Go upstream are not compatible with Alpine, so we always build from source here 😅 - fi; \ - \ - wget -O go.tgz.asc "$url.asc"; \ - wget -O go.tgz "$url"; \ - echo "$sha256 *go.tgz" | sha256sum -c -; \ - \ -# https://github.com/golang/go/issues/14739#issuecomment-324767697 - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ -# https://www.google.com/linuxrepositories/ - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 'EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796'; \ -# let's also fetch the specific subkey of that key explicitly that we expect "go.tgz.asc" to be signed by, just to make sure we definitely have it - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys '2F52 8D36 D67B 69ED F998 D857 78BD 6547 3CB3 BD13'; \ - gpg --batch --verify go.tgz.asc go.tgz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" go.tgz.asc; \ - \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - if [ -n "$build" ]; then \ - apk add --no-cache --virtual .build-deps \ - bash \ - gcc \ - go \ - musl-dev \ - ; \ - \ - export GOCACHE='/tmp/gocache'; \ - \ - ( \ - cd /usr/local/go/src; \ -# set GOROOT_BOOTSTRAP + GOHOST* such that we can build Go successfully - export GOROOT_BOOTSTRAP="$(go env GOROOT)" GOHOSTOS="$GOOS" GOHOSTARCH="$GOARCH"; \ - ./make.bash; \ - ); \ - \ - apk del --no-network .build-deps; \ - \ -# remove a few intermediate / bootstrapping files the official binary release tarballs do not contain - rm -rf \ - /usr/local/go/pkg/*/cmd \ - /usr/local/go/pkg/bootstrap \ - /usr/local/go/pkg/obj \ - /usr/local/go/pkg/tool/*/api \ - /usr/local/go/pkg/tool/*/go_bootstrap \ - /usr/local/go/src/cmd/dist/dist \ - "$GOCACHE" \ - ; \ - fi; \ - \ - apk del --no-network .fetch-deps; \ - \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:$PATH -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.18/alpine3.17/Dockerfile b/1.18/alpine3.17/Dockerfile deleted file mode 100644 index 49fcfff9..00000000 --- a/1.18/alpine3.17/Dockerfile +++ /dev/null @@ -1,107 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.17 - -RUN apk add --no-cache ca-certificates - -ENV PATH /usr/local/go/bin:$PATH - -ENV GOLANG_VERSION 1.18.10 - -RUN set -eux; \ - apk add --no-cache --virtual .fetch-deps gnupg; \ - arch="$(apk --print-arch)"; \ - url=; \ - case "$arch" in \ - 'x86_64') \ - export GOAMD64='v1' GOARCH='amd64' GOOS='linux'; \ - ;; \ - 'armhf') \ - export GOARCH='arm' GOARM='6' GOOS='linux'; \ - ;; \ - 'armv7') \ - export GOARCH='arm' GOARM='7' GOOS='linux'; \ - ;; \ - 'aarch64') \ - export GOARCH='arm64' GOOS='linux'; \ - ;; \ - 'x86') \ - export GO386='softfloat' GOARCH='386' GOOS='linux'; \ - ;; \ - 'ppc64le') \ - export GOARCH='ppc64le' GOOS='linux'; \ - ;; \ - 's390x') \ - export GOARCH='s390x' GOOS='linux'; \ - ;; \ - *) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \ - esac; \ - build=; \ - if [ -z "$url" ]; then \ -# https://github.com/golang/go/issues/38536#issuecomment-616897960 - build=1; \ - url='https://dl.google.com/go/go1.18.10.src.tar.gz'; \ - sha256='9cedcca58845df0c9474ae00274c44a95c9dfaefb132fc59921c28c7c106f8e6'; \ -# the precompiled binaries published by Go upstream are not compatible with Alpine, so we always build from source here 😅 - fi; \ - \ - wget -O go.tgz.asc "$url.asc"; \ - wget -O go.tgz "$url"; \ - echo "$sha256 *go.tgz" | sha256sum -c -; \ - \ -# https://github.com/golang/go/issues/14739#issuecomment-324767697 - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ -# https://www.google.com/linuxrepositories/ - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 'EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796'; \ -# let's also fetch the specific subkey of that key explicitly that we expect "go.tgz.asc" to be signed by, just to make sure we definitely have it - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys '2F52 8D36 D67B 69ED F998 D857 78BD 6547 3CB3 BD13'; \ - gpg --batch --verify go.tgz.asc go.tgz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" go.tgz.asc; \ - \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - if [ -n "$build" ]; then \ - apk add --no-cache --virtual .build-deps \ - bash \ - gcc \ - go \ - musl-dev \ - ; \ - \ - export GOCACHE='/tmp/gocache'; \ - \ - ( \ - cd /usr/local/go/src; \ -# set GOROOT_BOOTSTRAP + GOHOST* such that we can build Go successfully - export GOROOT_BOOTSTRAP="$(go env GOROOT)" GOHOSTOS="$GOOS" GOHOSTARCH="$GOARCH"; \ - ./make.bash; \ - ); \ - \ - apk del --no-network .build-deps; \ - \ -# remove a few intermediate / bootstrapping files the official binary release tarballs do not contain - rm -rf \ - /usr/local/go/pkg/*/cmd \ - /usr/local/go/pkg/bootstrap \ - /usr/local/go/pkg/obj \ - /usr/local/go/pkg/tool/*/api \ - /usr/local/go/pkg/tool/*/go_bootstrap \ - /usr/local/go/src/cmd/dist/dist \ - "$GOCACHE" \ - ; \ - fi; \ - \ - apk del --no-network .fetch-deps; \ - \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:$PATH -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.18/bullseye/Dockerfile b/1.18/bullseye/Dockerfile deleted file mode 100644 index a90d1206..00000000 --- a/1.18/bullseye/Dockerfile +++ /dev/null @@ -1,125 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye-scm - -# install cgo-related dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - g++ \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - ; \ - rm -rf /var/lib/apt/lists/* - -ENV PATH /usr/local/go/bin:$PATH - -ENV GOLANG_VERSION 1.18.10 - -RUN set -eux; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ - url=; \ - case "$arch" in \ - 'amd64') \ - url='https://dl.google.com/go/go1.18.10.linux-amd64.tar.gz'; \ - sha256='5e05400e4c79ef5394424c0eff5b9141cb782da25f64f79d54c98af0a37f8d49'; \ - ;; \ - 'armel') \ - export GOARCH='arm' GOARM='5' GOOS='linux'; \ - ;; \ - 'armhf') \ - url='https://dl.google.com/go/go1.18.10.linux-armv6l.tar.gz'; \ - sha256='e9f2f2361364c04a8f0d12228e4c5c2b870f4d1639ca92031c4013a95aa205be'; \ - ;; \ - 'arm64') \ - url='https://dl.google.com/go/go1.18.10.linux-arm64.tar.gz'; \ - sha256='160497c583d4c7cbc1661230e68b758d01f741cf4bece67e48edc4fdd40ed92d'; \ - ;; \ - 'i386') \ - url='https://dl.google.com/go/go1.18.10.linux-386.tar.gz'; \ - sha256='9249551992c9518ec8ce6690d32206f12ed9122e360407f7e7ab9a6adc627a9b'; \ - ;; \ - 'mips64el') \ - export GOARCH='mips64le' GOOS='linux'; \ - ;; \ - 'ppc64el') \ - url='https://dl.google.com/go/go1.18.10.linux-ppc64le.tar.gz'; \ - sha256='761014290febf0e10dfeba44ec551792dad32270a11debee8ed4f30c5f3c760d'; \ - ;; \ - 's390x') \ - url='https://dl.google.com/go/go1.18.10.linux-s390x.tar.gz'; \ - sha256='9755ab0460a04b535e513fac84db2e1ae6a197d66d3a097e14aed3b3114df85d'; \ - ;; \ - *) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \ - esac; \ - build=; \ - if [ -z "$url" ]; then \ -# https://github.com/golang/go/issues/38536#issuecomment-616897960 - build=1; \ - url='https://dl.google.com/go/go1.18.10.src.tar.gz'; \ - sha256='9cedcca58845df0c9474ae00274c44a95c9dfaefb132fc59921c28c7c106f8e6'; \ - echo >&2; \ - echo >&2 "warning: current architecture ($arch) does not have a compatible Go binary release; will be building from source"; \ - echo >&2; \ - fi; \ - \ - wget -O go.tgz.asc "$url.asc"; \ - wget -O go.tgz "$url" --progress=dot:giga; \ - echo "$sha256 *go.tgz" | sha256sum -c -; \ - \ -# https://github.com/golang/go/issues/14739#issuecomment-324767697 - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ -# https://www.google.com/linuxrepositories/ - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 'EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796'; \ -# let's also fetch the specific subkey of that key explicitly that we expect "go.tgz.asc" to be signed by, just to make sure we definitely have it - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys '2F52 8D36 D67B 69ED F998 D857 78BD 6547 3CB3 BD13'; \ - gpg --batch --verify go.tgz.asc go.tgz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" go.tgz.asc; \ - \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - if [ -n "$build" ]; then \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends golang-go; \ - \ - export GOCACHE='/tmp/gocache'; \ - \ - ( \ - cd /usr/local/go/src; \ -# set GOROOT_BOOTSTRAP + GOHOST* such that we can build Go successfully - export GOROOT_BOOTSTRAP="$(go env GOROOT)" GOHOSTOS="$GOOS" GOHOSTARCH="$GOARCH"; \ - ./make.bash; \ - ); \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ -# remove a few intermediate / bootstrapping files the official binary release tarballs do not contain - rm -rf \ - /usr/local/go/pkg/*/cmd \ - /usr/local/go/pkg/bootstrap \ - /usr/local/go/pkg/obj \ - /usr/local/go/pkg/tool/*/api \ - /usr/local/go/pkg/tool/*/go_bootstrap \ - /usr/local/go/src/cmd/dist/dist \ - "$GOCACHE" \ - ; \ - fi; \ - \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:$PATH -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.18/buster/Dockerfile b/1.18/buster/Dockerfile deleted file mode 100644 index 685173a0..00000000 --- a/1.18/buster/Dockerfile +++ /dev/null @@ -1,125 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:buster-scm - -# install cgo-related dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - g++ \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - ; \ - rm -rf /var/lib/apt/lists/* - -ENV PATH /usr/local/go/bin:$PATH - -ENV GOLANG_VERSION 1.18.10 - -RUN set -eux; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ - url=; \ - case "$arch" in \ - 'amd64') \ - url='https://dl.google.com/go/go1.18.10.linux-amd64.tar.gz'; \ - sha256='5e05400e4c79ef5394424c0eff5b9141cb782da25f64f79d54c98af0a37f8d49'; \ - ;; \ - 'armel') \ - export GOARCH='arm' GOARM='5' GOOS='linux'; \ - ;; \ - 'armhf') \ - url='https://dl.google.com/go/go1.18.10.linux-armv6l.tar.gz'; \ - sha256='e9f2f2361364c04a8f0d12228e4c5c2b870f4d1639ca92031c4013a95aa205be'; \ - ;; \ - 'arm64') \ - url='https://dl.google.com/go/go1.18.10.linux-arm64.tar.gz'; \ - sha256='160497c583d4c7cbc1661230e68b758d01f741cf4bece67e48edc4fdd40ed92d'; \ - ;; \ - 'i386') \ - url='https://dl.google.com/go/go1.18.10.linux-386.tar.gz'; \ - sha256='9249551992c9518ec8ce6690d32206f12ed9122e360407f7e7ab9a6adc627a9b'; \ - ;; \ - 'mips64el') \ - export GOARCH='mips64le' GOOS='linux'; \ - ;; \ - 'ppc64el') \ - url='https://dl.google.com/go/go1.18.10.linux-ppc64le.tar.gz'; \ - sha256='761014290febf0e10dfeba44ec551792dad32270a11debee8ed4f30c5f3c760d'; \ - ;; \ - 's390x') \ - url='https://dl.google.com/go/go1.18.10.linux-s390x.tar.gz'; \ - sha256='9755ab0460a04b535e513fac84db2e1ae6a197d66d3a097e14aed3b3114df85d'; \ - ;; \ - *) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \ - esac; \ - build=; \ - if [ -z "$url" ]; then \ -# https://github.com/golang/go/issues/38536#issuecomment-616897960 - build=1; \ - url='https://dl.google.com/go/go1.18.10.src.tar.gz'; \ - sha256='9cedcca58845df0c9474ae00274c44a95c9dfaefb132fc59921c28c7c106f8e6'; \ - echo >&2; \ - echo >&2 "warning: current architecture ($arch) does not have a compatible Go binary release; will be building from source"; \ - echo >&2; \ - fi; \ - \ - wget -O go.tgz.asc "$url.asc"; \ - wget -O go.tgz "$url" --progress=dot:giga; \ - echo "$sha256 *go.tgz" | sha256sum -c -; \ - \ -# https://github.com/golang/go/issues/14739#issuecomment-324767697 - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ -# https://www.google.com/linuxrepositories/ - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 'EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796'; \ -# let's also fetch the specific subkey of that key explicitly that we expect "go.tgz.asc" to be signed by, just to make sure we definitely have it - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys '2F52 8D36 D67B 69ED F998 D857 78BD 6547 3CB3 BD13'; \ - gpg --batch --verify go.tgz.asc go.tgz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" go.tgz.asc; \ - \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - if [ -n "$build" ]; then \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends golang-go; \ - \ - export GOCACHE='/tmp/gocache'; \ - \ - ( \ - cd /usr/local/go/src; \ -# set GOROOT_BOOTSTRAP + GOHOST* such that we can build Go successfully - export GOROOT_BOOTSTRAP="$(go env GOROOT)" GOHOSTOS="$GOOS" GOHOSTARCH="$GOARCH"; \ - ./make.bash; \ - ); \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ -# remove a few intermediate / bootstrapping files the official binary release tarballs do not contain - rm -rf \ - /usr/local/go/pkg/*/cmd \ - /usr/local/go/pkg/bootstrap \ - /usr/local/go/pkg/obj \ - /usr/local/go/pkg/tool/*/api \ - /usr/local/go/pkg/tool/*/go_bootstrap \ - /usr/local/go/src/cmd/dist/dist \ - "$GOCACHE" \ - ; \ - fi; \ - \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:$PATH -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH diff --git a/1.18/windows/windowsservercore-1809/Dockerfile b/1.18/windows/windowsservercore-1809/Dockerfile deleted file mode 100644 index 1a8053bb..00000000 --- a/1.18/windows/windowsservercore-1809/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -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.23.0 -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 8f65208f92c0b4c3ae4c0cf02d4b5f6791d539cd1a07b2df62b7116467724735 -# 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 ("git version") ...'; \ - git version; \ - \ - Write-Host 'Complete.'; - -# for 1.17+, we'll follow the (new) Go upstream default for install (https://golang.org/cl/283600), which frees up C:\go to be the default GOPATH and thus match the Linux images more closely (https://github.com/docker-library/golang/issues/288) -ENV GOPATH C:\\go -# HOWEVER, please note that it is the Go upstream intention to remove GOPATH support entirely: https://blog.golang.org/go116-module-changes - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\Program Files\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.18.10 - -RUN $url = 'https://dl.google.com/go/go1.18.10.windows-amd64.zip'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'caf3fcc9d39371fc45ad46afad7f6d12b42433c7d7ac593ada6351cd39ee217d'; \ - 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 'Moving ...'; \ - Move-Item -Path C:\go -Destination 'C:\Program Files\Go'; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.18/windows/windowsservercore-ltsc2022/Dockerfile b/1.18/windows/windowsservercore-ltsc2022/Dockerfile deleted file mode 100644 index b525e1bd..00000000 --- a/1.18/windows/windowsservercore-ltsc2022/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM mcr.microsoft.com/windows/servercore:ltsc2022 - -# $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.23.0 -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 8f65208f92c0b4c3ae4c0cf02d4b5f6791d539cd1a07b2df62b7116467724735 -# 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 ("git version") ...'; \ - git version; \ - \ - Write-Host 'Complete.'; - -# for 1.17+, we'll follow the (new) Go upstream default for install (https://golang.org/cl/283600), which frees up C:\go to be the default GOPATH and thus match the Linux images more closely (https://github.com/docker-library/golang/issues/288) -ENV GOPATH C:\\go -# HOWEVER, please note that it is the Go upstream intention to remove GOPATH support entirely: https://blog.golang.org/go116-module-changes - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('{0}\bin;C:\Program Files\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.18.10 - -RUN $url = 'https://dl.google.com/go/go1.18.10.windows-amd64.zip'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'caf3fcc9d39371fc45ad46afad7f6d12b42433c7d7ac593ada6351cd39ee217d'; \ - 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 'Moving ...'; \ - Move-Item -Path C:\go -Destination 'C:\Program Files\Go'; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Complete.'; - -WORKDIR $GOPATH diff --git a/1.20-rc/windows/nanoserver-1809/Dockerfile b/1.20-rc/windows/nanoserver-1809/Dockerfile deleted file mode 100644 index 31081ac0..00000000 --- a/1.20-rc/windows/nanoserver-1809/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM mcr.microsoft.com/windows/nanoserver:1809 - -SHELL ["cmd", "/S", "/C"] - -# no Git installed (intentionally) -# -- Nano Server is "Windows Slim" - -# for 1.17+, we'll follow the (new) Go upstream default for install (https://golang.org/cl/283600), which frees up C:\go to be the default GOPATH and thus match the Linux images more closely (https://github.com/docker-library/golang/issues/288) -ENV GOPATH C:\\go -# HOWEVER, please note that it is the Go upstream intention to remove GOPATH support entirely: https://blog.golang.org/go116-module-changes - -# 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:\Program Files\Go\bin;%PATH%" -USER ContainerUser -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.20rc3 - -# Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon -COPY --from=golang:1.20rc3-windowsservercore-1809 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"] -RUN go version - -WORKDIR $GOPATH diff --git a/1.20-rc/windows/nanoserver-ltsc2022/Dockerfile b/1.20-rc/windows/nanoserver-ltsc2022/Dockerfile deleted file mode 100644 index b0190836..00000000 --- a/1.20-rc/windows/nanoserver-ltsc2022/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM mcr.microsoft.com/windows/nanoserver:ltsc2022 - -SHELL ["cmd", "/S", "/C"] - -# no Git installed (intentionally) -# -- Nano Server is "Windows Slim" - -# for 1.17+, we'll follow the (new) Go upstream default for install (https://golang.org/cl/283600), which frees up C:\go to be the default GOPATH and thus match the Linux images more closely (https://github.com/docker-library/golang/issues/288) -ENV GOPATH C:\\go -# HOWEVER, please note that it is the Go upstream intention to remove GOPATH support entirely: https://blog.golang.org/go116-module-changes - -# 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:\Program Files\Go\bin;%PATH%" -USER ContainerUser -# doing this first to share cache across versions more aggressively - -ENV GOLANG_VERSION 1.20rc3 - -# Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon -COPY --from=golang:1.20rc3-windowsservercore-ltsc2022 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"] -RUN go version - -WORKDIR $GOPATH diff --git a/1.20-rc/alpine3.16/Dockerfile b/1.20/alpine3.16/Dockerfile similarity index 95% rename from 1.20-rc/alpine3.16/Dockerfile rename to 1.20/alpine3.16/Dockerfile index 523b297f..105d589d 100644 --- a/1.20-rc/alpine3.16/Dockerfile +++ b/1.20/alpine3.16/Dockerfile @@ -10,7 +10,7 @@ RUN apk add --no-cache ca-certificates ENV PATH /usr/local/go/bin:$PATH -ENV GOLANG_VERSION 1.20rc3 +ENV GOLANG_VERSION 1.20 RUN set -eux; \ apk add --no-cache --virtual .fetch-deps gnupg; \ @@ -44,8 +44,8 @@ RUN set -eux; \ if [ -z "$url" ]; then \ # https://github.com/golang/go/issues/38536#issuecomment-616897960 build=1; \ - url='https://dl.google.com/go/go1.20rc3.src.tar.gz'; \ - sha256='88c4898dea3fbeed4c8bf0976425f2c71dbb11da1d37b5374dd47626328e318b'; \ + url='https://dl.google.com/go/go1.20.src.tar.gz'; \ + sha256='3a29ff0421beaf6329292b8a46311c9fbf06c800077ceddef5fb7f8d5b1ace33'; \ # the precompiled binaries published by Go upstream are not compatible with Alpine, so we always build from source here 😅 fi; \ \ diff --git a/1.20-rc/alpine3.17/Dockerfile b/1.20/alpine3.17/Dockerfile similarity index 95% rename from 1.20-rc/alpine3.17/Dockerfile rename to 1.20/alpine3.17/Dockerfile index ddecb17b..c4cc0cd5 100644 --- a/1.20-rc/alpine3.17/Dockerfile +++ b/1.20/alpine3.17/Dockerfile @@ -10,7 +10,7 @@ RUN apk add --no-cache ca-certificates ENV PATH /usr/local/go/bin:$PATH -ENV GOLANG_VERSION 1.20rc3 +ENV GOLANG_VERSION 1.20 RUN set -eux; \ apk add --no-cache --virtual .fetch-deps gnupg; \ @@ -44,8 +44,8 @@ RUN set -eux; \ if [ -z "$url" ]; then \ # https://github.com/golang/go/issues/38536#issuecomment-616897960 build=1; \ - url='https://dl.google.com/go/go1.20rc3.src.tar.gz'; \ - sha256='88c4898dea3fbeed4c8bf0976425f2c71dbb11da1d37b5374dd47626328e318b'; \ + url='https://dl.google.com/go/go1.20.src.tar.gz'; \ + sha256='3a29ff0421beaf6329292b8a46311c9fbf06c800077ceddef5fb7f8d5b1ace33'; \ # the precompiled binaries published by Go upstream are not compatible with Alpine, so we always build from source here 😅 fi; \ \ diff --git a/1.20-rc/bullseye/Dockerfile b/1.20/bullseye/Dockerfile similarity index 76% rename from 1.20-rc/bullseye/Dockerfile rename to 1.20/bullseye/Dockerfile index fba3499c..1005d810 100644 --- a/1.20-rc/bullseye/Dockerfile +++ b/1.20/bullseye/Dockerfile @@ -20,41 +20,41 @@ RUN set -eux; \ ENV PATH /usr/local/go/bin:$PATH -ENV GOLANG_VERSION 1.20rc3 +ENV GOLANG_VERSION 1.20 RUN set -eux; \ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ url=; \ case "$arch" in \ 'amd64') \ - url='https://dl.google.com/go/go1.20rc3.linux-amd64.tar.gz'; \ - sha256='a53434fa355bcae0cd02796690715b08ebe1c3f33d384d83cf155842fd6856ba'; \ + url='https://dl.google.com/go/go1.20.linux-amd64.tar.gz'; \ + sha256='5a9ebcc65c1cce56e0d2dc616aff4c4cedcfbda8cc6f0288cc08cda3b18dcbf1'; \ ;; \ 'armel') \ export GOARCH='arm' GOARM='5' GOOS='linux'; \ ;; \ 'armhf') \ - url='https://dl.google.com/go/go1.20rc3.linux-armv6l.tar.gz'; \ - sha256='1157b1c44f52d511cbf946686c4412c82ba77ddb311cb147df1b6b707413f124'; \ + url='https://dl.google.com/go/go1.20.linux-armv6l.tar.gz'; \ + sha256='ee8550213c62812f90dbfd3d098195adedd450379fd4d3bb2c85607fd5a2d283'; \ ;; \ 'arm64') \ - url='https://dl.google.com/go/go1.20rc3.linux-arm64.tar.gz'; \ - sha256='8cf0b9091e9bc3961e62395b1fc8e647f5359ffee30b980658ea7ca193e08ce5'; \ + url='https://dl.google.com/go/go1.20.linux-arm64.tar.gz'; \ + sha256='17700b6e5108e2a2c3b1a43cd865d3f9c66b7f1c5f0cec26d3672cc131cc0994'; \ ;; \ 'i386') \ - url='https://dl.google.com/go/go1.20rc3.linux-386.tar.gz'; \ - sha256='4df8e9758ffbd3230d81389a6895426f3a9557157a6f3ccfad0a09b255726b3e'; \ + url='https://dl.google.com/go/go1.20.linux-386.tar.gz'; \ + sha256='1420582fb43a15dbe94760fdd92171315414c4afc21ffe9d3b5875f9386ebe53'; \ ;; \ 'mips64el') \ export GOARCH='mips64le' GOOS='linux'; \ ;; \ 'ppc64el') \ - url='https://dl.google.com/go/go1.20rc3.linux-ppc64le.tar.gz'; \ - sha256='b53d4afdec956fc6f79c82ea6e47f9a5c1fbb62908755c35712b6fef8c7b01df'; \ + url='https://dl.google.com/go/go1.20.linux-ppc64le.tar.gz'; \ + sha256='bccbf89c83e0aab2911e57217159bf0fc49bb07c6eebd2c23ae30af18fc5368b'; \ ;; \ 's390x') \ - url='https://dl.google.com/go/go1.20rc3.linux-s390x.tar.gz'; \ - sha256='2755e051bf7a06a4e604e88f871fd19512990ec600dfc75c05c4d3ee31007056'; \ + url='https://dl.google.com/go/go1.20.linux-s390x.tar.gz'; \ + sha256='4460deffbc01fe5f31fe226d296e366c0d6059b280743aea49bf81ab62ab8be8'; \ ;; \ *) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \ esac; \ @@ -62,8 +62,8 @@ RUN set -eux; \ if [ -z "$url" ]; then \ # https://github.com/golang/go/issues/38536#issuecomment-616897960 build=1; \ - url='https://dl.google.com/go/go1.20rc3.src.tar.gz'; \ - sha256='88c4898dea3fbeed4c8bf0976425f2c71dbb11da1d37b5374dd47626328e318b'; \ + url='https://dl.google.com/go/go1.20.src.tar.gz'; \ + sha256='3a29ff0421beaf6329292b8a46311c9fbf06c800077ceddef5fb7f8d5b1ace33'; \ echo >&2; \ echo >&2 "warning: current architecture ($arch) does not have a compatible Go binary release; will be building from source"; \ echo >&2; \ diff --git a/1.20-rc/buster/Dockerfile b/1.20/buster/Dockerfile similarity index 76% rename from 1.20-rc/buster/Dockerfile rename to 1.20/buster/Dockerfile index 7344ff33..3581d8d4 100644 --- a/1.20-rc/buster/Dockerfile +++ b/1.20/buster/Dockerfile @@ -20,41 +20,41 @@ RUN set -eux; \ ENV PATH /usr/local/go/bin:$PATH -ENV GOLANG_VERSION 1.20rc3 +ENV GOLANG_VERSION 1.20 RUN set -eux; \ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ url=; \ case "$arch" in \ 'amd64') \ - url='https://dl.google.com/go/go1.20rc3.linux-amd64.tar.gz'; \ - sha256='a53434fa355bcae0cd02796690715b08ebe1c3f33d384d83cf155842fd6856ba'; \ + url='https://dl.google.com/go/go1.20.linux-amd64.tar.gz'; \ + sha256='5a9ebcc65c1cce56e0d2dc616aff4c4cedcfbda8cc6f0288cc08cda3b18dcbf1'; \ ;; \ 'armel') \ export GOARCH='arm' GOARM='5' GOOS='linux'; \ ;; \ 'armhf') \ - url='https://dl.google.com/go/go1.20rc3.linux-armv6l.tar.gz'; \ - sha256='1157b1c44f52d511cbf946686c4412c82ba77ddb311cb147df1b6b707413f124'; \ + url='https://dl.google.com/go/go1.20.linux-armv6l.tar.gz'; \ + sha256='ee8550213c62812f90dbfd3d098195adedd450379fd4d3bb2c85607fd5a2d283'; \ ;; \ 'arm64') \ - url='https://dl.google.com/go/go1.20rc3.linux-arm64.tar.gz'; \ - sha256='8cf0b9091e9bc3961e62395b1fc8e647f5359ffee30b980658ea7ca193e08ce5'; \ + url='https://dl.google.com/go/go1.20.linux-arm64.tar.gz'; \ + sha256='17700b6e5108e2a2c3b1a43cd865d3f9c66b7f1c5f0cec26d3672cc131cc0994'; \ ;; \ 'i386') \ - url='https://dl.google.com/go/go1.20rc3.linux-386.tar.gz'; \ - sha256='4df8e9758ffbd3230d81389a6895426f3a9557157a6f3ccfad0a09b255726b3e'; \ + url='https://dl.google.com/go/go1.20.linux-386.tar.gz'; \ + sha256='1420582fb43a15dbe94760fdd92171315414c4afc21ffe9d3b5875f9386ebe53'; \ ;; \ 'mips64el') \ export GOARCH='mips64le' GOOS='linux'; \ ;; \ 'ppc64el') \ - url='https://dl.google.com/go/go1.20rc3.linux-ppc64le.tar.gz'; \ - sha256='b53d4afdec956fc6f79c82ea6e47f9a5c1fbb62908755c35712b6fef8c7b01df'; \ + url='https://dl.google.com/go/go1.20.linux-ppc64le.tar.gz'; \ + sha256='bccbf89c83e0aab2911e57217159bf0fc49bb07c6eebd2c23ae30af18fc5368b'; \ ;; \ 's390x') \ - url='https://dl.google.com/go/go1.20rc3.linux-s390x.tar.gz'; \ - sha256='2755e051bf7a06a4e604e88f871fd19512990ec600dfc75c05c4d3ee31007056'; \ + url='https://dl.google.com/go/go1.20.linux-s390x.tar.gz'; \ + sha256='4460deffbc01fe5f31fe226d296e366c0d6059b280743aea49bf81ab62ab8be8'; \ ;; \ *) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \ esac; \ @@ -62,8 +62,8 @@ RUN set -eux; \ if [ -z "$url" ]; then \ # https://github.com/golang/go/issues/38536#issuecomment-616897960 build=1; \ - url='https://dl.google.com/go/go1.20rc3.src.tar.gz'; \ - sha256='88c4898dea3fbeed4c8bf0976425f2c71dbb11da1d37b5374dd47626328e318b'; \ + url='https://dl.google.com/go/go1.20.src.tar.gz'; \ + sha256='3a29ff0421beaf6329292b8a46311c9fbf06c800077ceddef5fb7f8d5b1ace33'; \ echo >&2; \ echo >&2 "warning: current architecture ($arch) does not have a compatible Go binary release; will be building from source"; \ echo >&2; \ diff --git a/1.18/windows/nanoserver-1809/Dockerfile b/1.20/windows/nanoserver-1809/Dockerfile similarity index 88% rename from 1.18/windows/nanoserver-1809/Dockerfile rename to 1.20/windows/nanoserver-1809/Dockerfile index 48c77263..3ee4c73a 100644 --- a/1.18/windows/nanoserver-1809/Dockerfile +++ b/1.20/windows/nanoserver-1809/Dockerfile @@ -21,10 +21,10 @@ RUN setx /m PATH "%GOPATH%\bin;C:\Program Files\Go\bin;%PATH%" USER ContainerUser # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.18.10 +ENV GOLANG_VERSION 1.20 # Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon -COPY --from=golang:1.18.10-windowsservercore-1809 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"] +COPY --from=golang:1.20-windowsservercore-1809 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"] RUN go version WORKDIR $GOPATH diff --git a/1.18/windows/nanoserver-ltsc2022/Dockerfile b/1.20/windows/nanoserver-ltsc2022/Dockerfile similarity index 88% rename from 1.18/windows/nanoserver-ltsc2022/Dockerfile rename to 1.20/windows/nanoserver-ltsc2022/Dockerfile index 6d47af30..a21f81f2 100644 --- a/1.18/windows/nanoserver-ltsc2022/Dockerfile +++ b/1.20/windows/nanoserver-ltsc2022/Dockerfile @@ -21,10 +21,10 @@ RUN setx /m PATH "%GOPATH%\bin;C:\Program Files\Go\bin;%PATH%" USER ContainerUser # doing this first to share cache across versions more aggressively -ENV GOLANG_VERSION 1.18.10 +ENV GOLANG_VERSION 1.20 # Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon -COPY --from=golang:1.18.10-windowsservercore-ltsc2022 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"] +COPY --from=golang:1.20-windowsservercore-ltsc2022 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"] RUN go version WORKDIR $GOPATH diff --git a/1.20-rc/windows/windowsservercore-1809/Dockerfile b/1.20/windows/windowsservercore-1809/Dockerfile similarity index 95% rename from 1.20-rc/windows/windowsservercore-1809/Dockerfile rename to 1.20/windows/windowsservercore-1809/Dockerfile index 7c333d4f..f2e99470 100644 --- a/1.20-rc/windows/windowsservercore-1809/Dockerfile +++ b/1.20/windows/windowsservercore-1809/Dockerfile @@ -53,14 +53,14 @@ RUN $newPath = ('{0}\bin;C:\Program Files\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.20rc3 +ENV GOLANG_VERSION 1.20 -RUN $url = 'https://dl.google.com/go/go1.20rc3.windows-amd64.zip'; \ +RUN $url = 'https://dl.google.com/go/go1.20.windows-amd64.zip'; \ Write-Host ('Downloading {0} ...' -f $url); \ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'f577d77b6c244c476054f60a350a7ff1b0398da307306eb7de7a93598bb3d7e8'; \ + $sha256 = 'e8f6d8bbcf3df58d2ba29818e13b04c2e42ba2e4d90d580720b21c34d10bbf68'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/1.20-rc/windows/windowsservercore-ltsc2022/Dockerfile b/1.20/windows/windowsservercore-ltsc2022/Dockerfile similarity index 95% rename from 1.20-rc/windows/windowsservercore-ltsc2022/Dockerfile rename to 1.20/windows/windowsservercore-ltsc2022/Dockerfile index b30abb0e..905ac176 100644 --- a/1.20-rc/windows/windowsservercore-ltsc2022/Dockerfile +++ b/1.20/windows/windowsservercore-ltsc2022/Dockerfile @@ -53,14 +53,14 @@ RUN $newPath = ('{0}\bin;C:\Program Files\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.20rc3 +ENV GOLANG_VERSION 1.20 -RUN $url = 'https://dl.google.com/go/go1.20rc3.windows-amd64.zip'; \ +RUN $url = 'https://dl.google.com/go/go1.20.windows-amd64.zip'; \ Write-Host ('Downloading {0} ...' -f $url); \ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ \ - $sha256 = 'f577d77b6c244c476054f60a350a7ff1b0398da307306eb7de7a93598bb3d7e8'; \ + $sha256 = 'e8f6d8bbcf3df58d2ba29818e13b04c2e42ba2e4d90d580720b21c34d10bbf68'; \ Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ Write-Host 'FAILED!'; \ diff --git a/Dockerfile-linux.template b/Dockerfile-linux.template index 8ac2ed22..26d2dd05 100644 --- a/Dockerfile-linux.template +++ b/Dockerfile-linux.template @@ -131,7 +131,7 @@ RUN set -eux; \ ; \ {{ ) else ( -}} savedAptMark="$(apt-mark showmanual)"; \ -{{ if [ "1.18", "1.19" ] | index(env.version) then ( -}} +{{ if [ "1.19" ] | index(env.version) then ( -}} apt-get update; \ apt-get install -y --no-install-recommends golang-go; \ {{ ) else ( -}} @@ -152,7 +152,7 @@ RUN set -eux; \ cd /usr/local/go/src; \ # set GOROOT_BOOTSTRAP + GOHOST* such that we can build Go successfully export GOROOT_BOOTSTRAP="$(go env GOROOT)" GOHOSTOS="$GOOS" GOHOSTARCH="$GOARCH"; \ -{{ if is_alpine and ([ "1.18" ] | index(env.version) | not) then ( -}} +{{ if is_alpine then ( -}} if [ "${GOARCH:-}" = '386' ]; then \ # https://github.com/golang/go/issues/52919; https://github.com/docker-library/golang/pull/426#issuecomment-1152623837 export CGO_CFLAGS='-fno-stack-protector'; \ diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 8d271f68..c7c3afaa 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,7 +2,7 @@ set -Eeuo pipefail declare -A aliases=( - [1.19]='1 latest' + [1.20]='1 latest' ) self="$(basename "$BASH_SOURCE")" diff --git a/versions.json b/versions.json index 222104e8..93943295 100644 --- a/versions.json +++ b/versions.json @@ -1,169 +1,4 @@ { - "1.18": { - "arches": { - "amd64": { - "env": { - "GOAMD64": "v1", - "GOARCH": "amd64", - "GOOS": "linux" - }, - "sha256": "5e05400e4c79ef5394424c0eff5b9141cb782da25f64f79d54c98af0a37f8d49", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-amd64.tar.gz" - }, - "arm32v5": { - "env": { - "GOARCH": "arm", - "GOARM": "5", - "GOOS": "linux" - }, - "supported": true - }, - "arm32v6": { - "env": { - "GOARCH": "arm", - "GOARM": "6", - "GOOS": "linux" - }, - "sha256": "e9f2f2361364c04a8f0d12228e4c5c2b870f4d1639ca92031c4013a95aa205be", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-armv6l.tar.gz" - }, - "arm32v7": { - "env": { - "GOARCH": "arm", - "GOARM": "7", - "GOOS": "linux" - }, - "sha256": "e9f2f2361364c04a8f0d12228e4c5c2b870f4d1639ca92031c4013a95aa205be", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-armv6l.tar.gz" - }, - "arm64v8": { - "env": { - "GOARCH": "arm64", - "GOOS": "linux" - }, - "sha256": "160497c583d4c7cbc1661230e68b758d01f741cf4bece67e48edc4fdd40ed92d", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-arm64.tar.gz" - }, - "darwin-amd64": { - "env": { - "GOARCH": "amd64", - "GOOS": "darwin" - }, - "sha256": "5614904f2b0b546b1493f294122fea7d67b2fbfc2efe84b1ab560fb678502e1f", - "supported": false, - "url": "https://dl.google.com/go/go1.18.10.darwin-amd64.tar.gz" - }, - "darwin-arm64v8": { - "env": { - "GOARCH": "arm64", - "GOOS": "darwin" - }, - "sha256": "718b32cb2c1d203ba2c5e6d2fc3cf96a6952b38e389d94ff6cdb099eb959dade", - "supported": false, - "url": "https://dl.google.com/go/go1.18.10.darwin-arm64.tar.gz" - }, - "freebsd-amd64": { - "env": { - "GOARCH": "amd64", - "GOOS": "freebsd" - }, - "sha256": "e6ec1de5773e8836558c9d52d8e30ed49dd5f205fdbff16dc47f433858370431", - "supported": false, - "url": "https://dl.google.com/go/go1.18.10.freebsd-amd64.tar.gz" - }, - "freebsd-i386": { - "env": { - "GOARCH": "386", - "GOOS": "freebsd" - }, - "sha256": "1752ba29b97c93daec0129ce51b6ea2dd187f3eb0e945f3565858bfa642ff638", - "supported": false, - "url": "https://dl.google.com/go/go1.18.10.freebsd-386.tar.gz" - }, - "i386": { - "env": { - "GO386": "softfloat", - "GOARCH": "386", - "GOOS": "linux" - }, - "sha256": "9249551992c9518ec8ce6690d32206f12ed9122e360407f7e7ab9a6adc627a9b", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-386.tar.gz" - }, - "mips64le": { - "env": { - "GOARCH": "mips64le", - "GOOS": "linux" - }, - "supported": true - }, - "ppc64le": { - "env": { - "GOARCH": "ppc64le", - "GOOS": "linux" - }, - "sha256": "761014290febf0e10dfeba44ec551792dad32270a11debee8ed4f30c5f3c760d", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-ppc64le.tar.gz" - }, - "s390x": { - "env": { - "GOARCH": "s390x", - "GOOS": "linux" - }, - "sha256": "9755ab0460a04b535e513fac84db2e1ae6a197d66d3a097e14aed3b3114df85d", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.linux-s390x.tar.gz" - }, - "src": { - "sha256": "9cedcca58845df0c9474ae00274c44a95c9dfaefb132fc59921c28c7c106f8e6", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.src.tar.gz" - }, - "windows-amd64": { - "env": { - "GOARCH": "amd64", - "GOOS": "windows" - }, - "sha256": "caf3fcc9d39371fc45ad46afad7f6d12b42433c7d7ac593ada6351cd39ee217d", - "supported": true, - "url": "https://dl.google.com/go/go1.18.10.windows-amd64.zip" - }, - "windows-arm64v8": { - "env": { - "GOARCH": "arm64", - "GOOS": "windows" - }, - "sha256": "15efba8cd811b7548cfe4bf34d276b720b261efa876575a01cdb1deb63e7de00", - "supported": false, - "url": "https://dl.google.com/go/go1.18.10.windows-arm64.zip" - }, - "windows-i386": { - "env": { - "GOARCH": "386", - "GOOS": "windows" - }, - "sha256": "9d31478c74f699b365af813b971d6713fdee1c1cd32d9321f67edbf5c451ae52", - "supported": false, - "url": "https://dl.google.com/go/go1.18.10.windows-386.zip" - } - }, - "variants": [ - "bullseye", - "buster", - "alpine3.17", - "alpine3.16", - "windows/windowsservercore-ltsc2022", - "windows/windowsservercore-1809", - "windows/nanoserver-ltsc2022", - "windows/nanoserver-1809" - ], - "version": "1.18.10" - }, "1.19": { "arches": { "amd64": { @@ -329,7 +164,7 @@ ], "version": "1.19.5" }, - "1.20-rc": { + "1.20": { "arches": { "amd64": { "env": { @@ -337,9 +172,9 @@ "GOARCH": "amd64", "GOOS": "linux" }, - "sha256": "a53434fa355bcae0cd02796690715b08ebe1c3f33d384d83cf155842fd6856ba", + "sha256": "5a9ebcc65c1cce56e0d2dc616aff4c4cedcfbda8cc6f0288cc08cda3b18dcbf1", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-amd64.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-amd64.tar.gz" }, "arm32v5": { "env": { @@ -355,9 +190,9 @@ "GOARM": "6", "GOOS": "linux" }, - "sha256": "1157b1c44f52d511cbf946686c4412c82ba77ddb311cb147df1b6b707413f124", + "sha256": "ee8550213c62812f90dbfd3d098195adedd450379fd4d3bb2c85607fd5a2d283", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-armv6l.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-armv6l.tar.gz" }, "arm32v7": { "env": { @@ -365,54 +200,54 @@ "GOARM": "7", "GOOS": "linux" }, - "sha256": "1157b1c44f52d511cbf946686c4412c82ba77ddb311cb147df1b6b707413f124", + "sha256": "ee8550213c62812f90dbfd3d098195adedd450379fd4d3bb2c85607fd5a2d283", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-armv6l.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-armv6l.tar.gz" }, "arm64v8": { "env": { "GOARCH": "arm64", "GOOS": "linux" }, - "sha256": "8cf0b9091e9bc3961e62395b1fc8e647f5359ffee30b980658ea7ca193e08ce5", + "sha256": "17700b6e5108e2a2c3b1a43cd865d3f9c66b7f1c5f0cec26d3672cc131cc0994", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-arm64.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-arm64.tar.gz" }, "darwin-amd64": { "env": { "GOARCH": "amd64", "GOOS": "darwin" }, - "sha256": "b5b988b538d6b183d0c8a4959e9a83d3bbc91e4fd9d63d6c6df7103dba691ade", + "sha256": "777025500f62d14bb5a4923072cd97431887961d24de08433a60c2fe1120531d", "supported": false, - "url": "https://dl.google.com/go/go1.20rc3.darwin-amd64.tar.gz" + "url": "https://dl.google.com/go/go1.20.darwin-amd64.tar.gz" }, "darwin-arm64v8": { "env": { "GOARCH": "arm64", "GOOS": "darwin" }, - "sha256": "62aeba508c8b768c158950046c04761298d556554594c3ac6ffc3509f5dece41", + "sha256": "32864d6fe888714ca7b421b5997269c7f6349d7e2675c3a399133e521787608b", "supported": false, - "url": "https://dl.google.com/go/go1.20rc3.darwin-arm64.tar.gz" + "url": "https://dl.google.com/go/go1.20.darwin-arm64.tar.gz" }, "freebsd-amd64": { "env": { "GOARCH": "amd64", "GOOS": "freebsd" }, - "sha256": "f70440357ac7b87ab99e677642ef75f825c6c6f76092f4c3503e9753784475bb", + "sha256": "8c5ccff790dda019e070a6a13745aba0c1ea0e3d47076bacf9fb1e0b34cc731f", "supported": false, - "url": "https://dl.google.com/go/go1.20rc3.freebsd-amd64.tar.gz" + "url": "https://dl.google.com/go/go1.20.freebsd-amd64.tar.gz" }, "freebsd-i386": { "env": { "GOARCH": "386", "GOOS": "freebsd" }, - "sha256": "07afd11bf44b8a7c73d5fe88145452a2c47641ecc42d54234699e5158205899c", + "sha256": "2f3c68213fa785d0ebfa4e50de5ea8f4baf5d9c12f5783c59e1ee370e35755ae", "supported": false, - "url": "https://dl.google.com/go/go1.20rc3.freebsd-386.tar.gz" + "url": "https://dl.google.com/go/go1.20.freebsd-386.tar.gz" }, "i386": { "env": { @@ -420,9 +255,9 @@ "GOARCH": "386", "GOOS": "linux" }, - "sha256": "4df8e9758ffbd3230d81389a6895426f3a9557157a6f3ccfad0a09b255726b3e", + "sha256": "1420582fb43a15dbe94760fdd92171315414c4afc21ffe9d3b5875f9386ebe53", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-386.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-386.tar.gz" }, "mips64le": { "env": { @@ -436,50 +271,50 @@ "GOARCH": "ppc64le", "GOOS": "linux" }, - "sha256": "b53d4afdec956fc6f79c82ea6e47f9a5c1fbb62908755c35712b6fef8c7b01df", + "sha256": "bccbf89c83e0aab2911e57217159bf0fc49bb07c6eebd2c23ae30af18fc5368b", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-ppc64le.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-ppc64le.tar.gz" }, "s390x": { "env": { "GOARCH": "s390x", "GOOS": "linux" }, - "sha256": "2755e051bf7a06a4e604e88f871fd19512990ec600dfc75c05c4d3ee31007056", + "sha256": "4460deffbc01fe5f31fe226d296e366c0d6059b280743aea49bf81ab62ab8be8", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.linux-s390x.tar.gz" + "url": "https://dl.google.com/go/go1.20.linux-s390x.tar.gz" }, "src": { - "sha256": "88c4898dea3fbeed4c8bf0976425f2c71dbb11da1d37b5374dd47626328e318b", + "sha256": "3a29ff0421beaf6329292b8a46311c9fbf06c800077ceddef5fb7f8d5b1ace33", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.src.tar.gz" + "url": "https://dl.google.com/go/go1.20.src.tar.gz" }, "windows-amd64": { "env": { "GOARCH": "amd64", "GOOS": "windows" }, - "sha256": "f577d77b6c244c476054f60a350a7ff1b0398da307306eb7de7a93598bb3d7e8", + "sha256": "e8f6d8bbcf3df58d2ba29818e13b04c2e42ba2e4d90d580720b21c34d10bbf68", "supported": true, - "url": "https://dl.google.com/go/go1.20rc3.windows-amd64.zip" + "url": "https://dl.google.com/go/go1.20.windows-amd64.zip" }, "windows-arm64v8": { "env": { "GOARCH": "arm64", "GOOS": "windows" }, - "sha256": "8bdd3f214e0714bfa80373d777d1342a1a8c33a35c35e4d370656fab9e34d54d", + "sha256": "2421b2ade9b68517f962f0ea4fb27b68b5321b334fb1b353de25be5b2ee90cba", "supported": false, - "url": "https://dl.google.com/go/go1.20rc3.windows-arm64.zip" + "url": "https://dl.google.com/go/go1.20.windows-arm64.zip" }, "windows-i386": { "env": { "GOARCH": "386", "GOOS": "windows" }, - "sha256": "73277d054190e9f4f3019078a77a2fb7bff4c874adc53551908eb40ca691cb06", + "sha256": "9c303e312391eb04b4a1bab9b93b0839e05313068293c26b3a65ec6d24be99ce", "supported": false, - "url": "https://dl.google.com/go/go1.20rc3.windows-386.zip" + "url": "https://dl.google.com/go/go1.20.windows-386.zip" } }, "variants": [ @@ -492,6 +327,6 @@ "windows/nanoserver-ltsc2022", "windows/nanoserver-1809" ], - "version": "1.20rc3" + "version": "1.20" } }