diff --git a/.travis.yml b/.travis.yml index a730c572b..66d56bc7e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,44 +1,84 @@ language: bash services: docker -env: - - VERSION=3.7 VARIANT=stretch - - VERSION=3.7 VARIANT=stretch/slim - - VERSION=3.7 VARIANT=alpine3.9 - - VERSION=3.7 VARIANT=alpine3.8 - - VERSION=3.6 VARIANT=stretch - - VERSION=3.6 VARIANT=stretch/slim - - VERSION=3.6 VARIANT=jessie - - VERSION=3.6 VARIANT=jessie/slim - - VERSION=3.6 VARIANT=alpine3.9 - - VERSION=3.6 VARIANT=alpine3.8 - - VERSION=3.5 VARIANT=stretch - - VERSION=3.5 VARIANT=stretch/slim - - VERSION=3.5 VARIANT=jessie - - VERSION=3.5 VARIANT=jessie/slim - - VERSION=3.5 VARIANT=alpine3.9 - - VERSION=3.5 VARIANT=alpine3.8 - - VERSION=3.4 VARIANT=stretch - - VERSION=3.4 VARIANT=stretch/slim - - VERSION=3.4 VARIANT=jessie - - VERSION=3.4 VARIANT=jessie/slim - - VERSION=3.4 VARIANT=wheezy - - VERSION=3.4 VARIANT=alpine3.9 - - VERSION=3.4 VARIANT=alpine3.8 - - VERSION=2.7 VARIANT=stretch - - VERSION=2.7 VARIANT=stretch/slim - - VERSION=2.7 VARIANT=jessie - - VERSION=2.7 VARIANT=jessie/slim - - VERSION=2.7 VARIANT=wheezy - - VERSION=2.7 VARIANT=alpine3.9 - - VERSION=2.7 VARIANT=alpine3.8 +matrix: + include: + - os: windows + dist: 1803-containers + env: VERSION=3.7 VARIANT=windows/windowsservercore-1803 + - os: linux + env: VERSION=3.7 VARIANT=stretch + - os: linux + env: VERSION=3.7 VARIANT=stretch/slim + - os: linux + env: VERSION=3.7 VARIANT=alpine3.9 + - os: linux + env: VERSION=3.7 VARIANT=alpine3.8 + - os: windows + dist: 1803-containers + env: VERSION=3.6 VARIANT=windows/windowsservercore-1803 + - os: linux + env: VERSION=3.6 VARIANT=stretch + - os: linux + env: VERSION=3.6 VARIANT=stretch/slim + - os: linux + env: VERSION=3.6 VARIANT=jessie + - os: linux + env: VERSION=3.6 VARIANT=jessie/slim + - os: linux + env: VERSION=3.6 VARIANT=alpine3.9 + - os: linux + env: VERSION=3.6 VARIANT=alpine3.8 + - os: linux + env: VERSION=3.5 VARIANT=stretch + - os: linux + env: VERSION=3.5 VARIANT=stretch/slim + - os: linux + env: VERSION=3.5 VARIANT=jessie + - os: linux + env: VERSION=3.5 VARIANT=jessie/slim + - os: linux + env: VERSION=3.5 VARIANT=alpine3.9 + - os: linux + env: VERSION=3.5 VARIANT=alpine3.8 + - os: linux + env: VERSION=3.4 VARIANT=stretch + - os: linux + env: VERSION=3.4 VARIANT=stretch/slim + - os: linux + env: VERSION=3.4 VARIANT=jessie + - os: linux + env: VERSION=3.4 VARIANT=jessie/slim + - os: linux + env: VERSION=3.4 VARIANT=wheezy + - os: linux + env: VERSION=3.4 VARIANT=alpine3.9 + - os: linux + env: VERSION=3.4 VARIANT=alpine3.8 + - os: windows + dist: 1803-containers + env: VERSION=2.7 VARIANT=windows/windowsservercore-1803 + - os: linux + env: VERSION=2.7 VARIANT=stretch + - os: linux + env: VERSION=2.7 VARIANT=stretch/slim + - os: linux + env: VERSION=2.7 VARIANT=jessie + - os: linux + env: VERSION=2.7 VARIANT=jessie/slim + - os: linux + env: VERSION=2.7 VARIANT=wheezy + - os: linux + env: VERSION=2.7 VARIANT=alpine3.9 + - os: linux + env: VERSION=2.7 VARIANT=alpine3.8 install: - git clone https://github.com/docker-library/official-images.git ~/official-images + - if [ "$TRAVIS_OS_NAME" = 'linux' ]; then wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash; fi before_script: - env | sort - - wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash - cd "$VERSION/$VARIANT" - slash='/'; image="python:${VERSION}-${VARIANT//$slash/-}" diff --git a/2.7/windows/windowsservercore-1709/Dockerfile b/2.7/windows/windowsservercore-1709/Dockerfile index 68595c0b7..25d1b5cfd 100644 --- a/2.7/windows/windowsservercore-1709/Dockerfile +++ b/2.7/windows/windowsservercore-1709/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM microsoft/windowsservercore:1709 +FROM mcr.microsoft.com/windows/servercore:1709 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/2.7/windows/windowsservercore-1803/Dockerfile b/2.7/windows/windowsservercore-1803/Dockerfile new file mode 100644 index 000000000..5c46939ed --- /dev/null +++ b/2.7/windows/windowsservercore-1803/Dockerfile @@ -0,0 +1,64 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM mcr.microsoft.com/windows/servercore:1803 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV PYTHON_VERSION 2.7.15 +ENV PYTHON_RELEASE 2.7.15 + +RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}.amd64.msi' -f $env:PYTHON_RELEASE, $env:PYTHON_VERSION); \ + Write-Host ('Downloading {0} ...' -f $url); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri $url -OutFile 'python.msi'; \ + \ + Write-Host 'Installing ...'; \ +# https://www.python.org/download/releases/2.4/msi/ + Start-Process msiexec -Wait \ + -ArgumentList @( \ + '/i', \ + 'python.msi', \ + '/quiet', \ + '/qn', \ + 'TARGETDIR=C:\Python', \ + 'ALLUSERS=1', \ + 'ADDLOCAL=DefaultFeature,Extensions,TclTk,Tools,PrependPath' \ + ); \ + \ +# the installer updated PATH, so we should refresh our local value + $env:PATH = [Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine); \ + \ + Write-Host 'Verifying install ...'; \ + Write-Host ' python --version'; python --version; \ + \ + Write-Host 'Removing ...'; \ + Remove-Item python.msi -Force; \ + \ + Write-Host 'Complete.'; + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 19.0.2 + +RUN Write-Host ('Installing pip=={0} ...' -f $env:PYTHON_PIP_VERSION); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'; \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + ('pip=={0}' -f $env:PYTHON_PIP_VERSION) \ + ; \ + Remove-Item get-pip.py -Force; \ + \ + Write-Host 'Verifying pip install ...'; \ + pip --version; \ + \ + Write-Host 'Complete.'; + +# install "virtualenv", since the vast majority of users of this image will want it +RUN pip install --no-cache-dir virtualenv + +CMD ["python"] diff --git a/2.7/windows/windowsservercore-1809/Dockerfile b/2.7/windows/windowsservercore-1809/Dockerfile new file mode 100644 index 000000000..79a9c2f6c --- /dev/null +++ b/2.7/windows/windowsservercore-1809/Dockerfile @@ -0,0 +1,64 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM mcr.microsoft.com/windows/servercore:1809 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV PYTHON_VERSION 2.7.15 +ENV PYTHON_RELEASE 2.7.15 + +RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}.amd64.msi' -f $env:PYTHON_RELEASE, $env:PYTHON_VERSION); \ + Write-Host ('Downloading {0} ...' -f $url); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri $url -OutFile 'python.msi'; \ + \ + Write-Host 'Installing ...'; \ +# https://www.python.org/download/releases/2.4/msi/ + Start-Process msiexec -Wait \ + -ArgumentList @( \ + '/i', \ + 'python.msi', \ + '/quiet', \ + '/qn', \ + 'TARGETDIR=C:\Python', \ + 'ALLUSERS=1', \ + 'ADDLOCAL=DefaultFeature,Extensions,TclTk,Tools,PrependPath' \ + ); \ + \ +# the installer updated PATH, so we should refresh our local value + $env:PATH = [Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine); \ + \ + Write-Host 'Verifying install ...'; \ + Write-Host ' python --version'; python --version; \ + \ + Write-Host 'Removing ...'; \ + Remove-Item python.msi -Force; \ + \ + Write-Host 'Complete.'; + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 19.0.2 + +RUN Write-Host ('Installing pip=={0} ...' -f $env:PYTHON_PIP_VERSION); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'; \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + ('pip=={0}' -f $env:PYTHON_PIP_VERSION) \ + ; \ + Remove-Item get-pip.py -Force; \ + \ + Write-Host 'Verifying pip install ...'; \ + pip --version; \ + \ + Write-Host 'Complete.'; + +# install "virtualenv", since the vast majority of users of this image will want it +RUN pip install --no-cache-dir virtualenv + +CMD ["python"] diff --git a/2.7/windows/windowsservercore-ltsc2016/Dockerfile b/2.7/windows/windowsservercore-ltsc2016/Dockerfile index fde56cee1..2fcd7835c 100644 --- a/2.7/windows/windowsservercore-ltsc2016/Dockerfile +++ b/2.7/windows/windowsservercore-ltsc2016/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM microsoft/windowsservercore:ltsc2016 +FROM mcr.microsoft.com/windows/servercore:ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/3.6/windows/windowsservercore-1709/Dockerfile b/3.6/windows/windowsservercore-1709/Dockerfile index 244ddaea0..3d8249fbc 100644 --- a/3.6/windows/windowsservercore-1709/Dockerfile +++ b/3.6/windows/windowsservercore-1709/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM microsoft/windowsservercore:1709 +FROM mcr.microsoft.com/windows/servercore:1709 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/3.6/windows/windowsservercore-1803/Dockerfile b/3.6/windows/windowsservercore-1803/Dockerfile new file mode 100644 index 000000000..fb0e7b318 --- /dev/null +++ b/3.6/windows/windowsservercore-1803/Dockerfile @@ -0,0 +1,62 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM mcr.microsoft.com/windows/servercore:1803 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV PYTHON_VERSION 3.6.8 +ENV PYTHON_RELEASE 3.6.8 + +RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f $env:PYTHON_RELEASE, $env:PYTHON_VERSION); \ + Write-Host ('Downloading {0} ...' -f $url); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri $url -OutFile 'python.exe'; \ + \ + Write-Host 'Installing ...'; \ +# https://docs.python.org/3.5/using/windows.html#installing-without-ui + Start-Process python.exe -Wait \ + -ArgumentList @( \ + '/quiet', \ + 'InstallAllUsers=1', \ + 'TargetDir=C:\Python', \ + 'PrependPath=1', \ + 'Shortcuts=0', \ + 'Include_doc=0', \ + 'Include_pip=0', \ + 'Include_test=0' \ + ); \ + \ +# the installer updated PATH, so we should refresh our local value + $env:PATH = [Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine); \ + \ + Write-Host 'Verifying install ...'; \ + Write-Host ' python --version'; python --version; \ + \ + Write-Host 'Removing ...'; \ + Remove-Item python.exe -Force; \ + \ + Write-Host 'Complete.'; + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 19.0.2 + +RUN Write-Host ('Installing pip=={0} ...' -f $env:PYTHON_PIP_VERSION); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'; \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + ('pip=={0}' -f $env:PYTHON_PIP_VERSION) \ + ; \ + Remove-Item get-pip.py -Force; \ + \ + Write-Host 'Verifying pip install ...'; \ + pip --version; \ + \ + Write-Host 'Complete.'; + +CMD ["python"] diff --git a/3.6/windows/windowsservercore-1809/Dockerfile b/3.6/windows/windowsservercore-1809/Dockerfile new file mode 100644 index 000000000..17b371155 --- /dev/null +++ b/3.6/windows/windowsservercore-1809/Dockerfile @@ -0,0 +1,62 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM mcr.microsoft.com/windows/servercore:1809 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV PYTHON_VERSION 3.6.8 +ENV PYTHON_RELEASE 3.6.8 + +RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f $env:PYTHON_RELEASE, $env:PYTHON_VERSION); \ + Write-Host ('Downloading {0} ...' -f $url); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri $url -OutFile 'python.exe'; \ + \ + Write-Host 'Installing ...'; \ +# https://docs.python.org/3.5/using/windows.html#installing-without-ui + Start-Process python.exe -Wait \ + -ArgumentList @( \ + '/quiet', \ + 'InstallAllUsers=1', \ + 'TargetDir=C:\Python', \ + 'PrependPath=1', \ + 'Shortcuts=0', \ + 'Include_doc=0', \ + 'Include_pip=0', \ + 'Include_test=0' \ + ); \ + \ +# the installer updated PATH, so we should refresh our local value + $env:PATH = [Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine); \ + \ + Write-Host 'Verifying install ...'; \ + Write-Host ' python --version'; python --version; \ + \ + Write-Host 'Removing ...'; \ + Remove-Item python.exe -Force; \ + \ + Write-Host 'Complete.'; + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 19.0.2 + +RUN Write-Host ('Installing pip=={0} ...' -f $env:PYTHON_PIP_VERSION); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'; \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + ('pip=={0}' -f $env:PYTHON_PIP_VERSION) \ + ; \ + Remove-Item get-pip.py -Force; \ + \ + Write-Host 'Verifying pip install ...'; \ + pip --version; \ + \ + Write-Host 'Complete.'; + +CMD ["python"] diff --git a/3.6/windows/windowsservercore-ltsc2016/Dockerfile b/3.6/windows/windowsservercore-ltsc2016/Dockerfile index ea216cf1b..f50dd7b5b 100644 --- a/3.6/windows/windowsservercore-ltsc2016/Dockerfile +++ b/3.6/windows/windowsservercore-ltsc2016/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM microsoft/windowsservercore:ltsc2016 +FROM mcr.microsoft.com/windows/servercore:ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/3.7/windows/windowsservercore-1709/Dockerfile b/3.7/windows/windowsservercore-1709/Dockerfile index 58955c042..93041a22e 100644 --- a/3.7/windows/windowsservercore-1709/Dockerfile +++ b/3.7/windows/windowsservercore-1709/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM microsoft/windowsservercore:1709 +FROM mcr.microsoft.com/windows/servercore:1709 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/3.7/windows/windowsservercore-1803/Dockerfile b/3.7/windows/windowsservercore-1803/Dockerfile new file mode 100644 index 000000000..4527d0bd7 --- /dev/null +++ b/3.7/windows/windowsservercore-1803/Dockerfile @@ -0,0 +1,62 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM mcr.microsoft.com/windows/servercore:1803 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV PYTHON_VERSION 3.7.2 +ENV PYTHON_RELEASE 3.7.2 + +RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f $env:PYTHON_RELEASE, $env:PYTHON_VERSION); \ + Write-Host ('Downloading {0} ...' -f $url); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri $url -OutFile 'python.exe'; \ + \ + Write-Host 'Installing ...'; \ +# https://docs.python.org/3.5/using/windows.html#installing-without-ui + Start-Process python.exe -Wait \ + -ArgumentList @( \ + '/quiet', \ + 'InstallAllUsers=1', \ + 'TargetDir=C:\Python', \ + 'PrependPath=1', \ + 'Shortcuts=0', \ + 'Include_doc=0', \ + 'Include_pip=0', \ + 'Include_test=0' \ + ); \ + \ +# the installer updated PATH, so we should refresh our local value + $env:PATH = [Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine); \ + \ + Write-Host 'Verifying install ...'; \ + Write-Host ' python --version'; python --version; \ + \ + Write-Host 'Removing ...'; \ + Remove-Item python.exe -Force; \ + \ + Write-Host 'Complete.'; + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 19.0.2 + +RUN Write-Host ('Installing pip=={0} ...' -f $env:PYTHON_PIP_VERSION); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'; \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + ('pip=={0}' -f $env:PYTHON_PIP_VERSION) \ + ; \ + Remove-Item get-pip.py -Force; \ + \ + Write-Host 'Verifying pip install ...'; \ + pip --version; \ + \ + Write-Host 'Complete.'; + +CMD ["python"] diff --git a/3.7/windows/windowsservercore-1809/Dockerfile b/3.7/windows/windowsservercore-1809/Dockerfile new file mode 100644 index 000000000..83064407a --- /dev/null +++ b/3.7/windows/windowsservercore-1809/Dockerfile @@ -0,0 +1,62 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM mcr.microsoft.com/windows/servercore:1809 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV PYTHON_VERSION 3.7.2 +ENV PYTHON_RELEASE 3.7.2 + +RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f $env:PYTHON_RELEASE, $env:PYTHON_VERSION); \ + Write-Host ('Downloading {0} ...' -f $url); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri $url -OutFile 'python.exe'; \ + \ + Write-Host 'Installing ...'; \ +# https://docs.python.org/3.5/using/windows.html#installing-without-ui + Start-Process python.exe -Wait \ + -ArgumentList @( \ + '/quiet', \ + 'InstallAllUsers=1', \ + 'TargetDir=C:\Python', \ + 'PrependPath=1', \ + 'Shortcuts=0', \ + 'Include_doc=0', \ + 'Include_pip=0', \ + 'Include_test=0' \ + ); \ + \ +# the installer updated PATH, so we should refresh our local value + $env:PATH = [Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine); \ + \ + Write-Host 'Verifying install ...'; \ + Write-Host ' python --version'; python --version; \ + \ + Write-Host 'Removing ...'; \ + Remove-Item python.exe -Force; \ + \ + Write-Host 'Complete.'; + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 19.0.2 + +RUN Write-Host ('Installing pip=={0} ...' -f $env:PYTHON_PIP_VERSION); \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'; \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + ('pip=={0}' -f $env:PYTHON_PIP_VERSION) \ + ; \ + Remove-Item get-pip.py -Force; \ + \ + Write-Host 'Verifying pip install ...'; \ + pip --version; \ + \ + Write-Host 'Complete.'; + +CMD ["python"] diff --git a/3.7/windows/windowsservercore-ltsc2016/Dockerfile b/3.7/windows/windowsservercore-ltsc2016/Dockerfile index bcf40c0d1..ec82e485c 100644 --- a/3.7/windows/windowsservercore-ltsc2016/Dockerfile +++ b/3.7/windows/windowsservercore-ltsc2016/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM microsoft/windowsservercore:ltsc2016 +FROM mcr.microsoft.com/windows/servercore:ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/Dockerfile-caveman-windowsservercore.template b/Dockerfile-caveman-windowsservercore.template index e42461bab..f0fe4e606 100644 --- a/Dockerfile-caveman-windowsservercore.template +++ b/Dockerfile-caveman-windowsservercore.template @@ -1,4 +1,4 @@ -FROM microsoft/windowsservercore:%%PLACEHOLDER%% +FROM mcr.microsoft.com/windows/servercore:%%PLACEHOLDER%% SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/Dockerfile-windowsservercore.template b/Dockerfile-windowsservercore.template index 6570ff653..57b59c266 100644 --- a/Dockerfile-windowsservercore.template +++ b/Dockerfile-windowsservercore.template @@ -1,4 +1,4 @@ -FROM microsoft/windowsservercore:%%PLACEHOLDER%% +FROM mcr.microsoft.com/windows/servercore:%%PLACEHOLDER%% SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 0b2a9164b..c8b4ecdaa 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -78,8 +78,7 @@ for version in "${versions[@]}"; do for v in \ {stretch,jessie,wheezy}{,/slim} \ alpine{3.9,3.8} \ - windows/windowsservercore-{ltsc2016,1709} \ - windows/nanoserver-{sac2016,1709} \ + windows/windowsservercore-{ltsc2016,1709,1803,1809} \ ; do dir="$version/$v" variant="$(basename "$v")" diff --git a/update.sh b/update.sh index dc26529a7..c1497035c 100755 --- a/update.sh +++ b/update.sh @@ -114,8 +114,7 @@ for version in "${versions[@]}"; do for v in \ alpine{3.8,3.9} \ {wheezy,jessie,stretch}{/slim,} \ - windows/nanoserver-{1709,sac2016} \ - windows/windowsservercore-{1709,ltsc2016} \ + windows/windowsservercore-{1809,1803,1709,ltsc2016} \ ; do dir="$version/$v" variant="$(basename "$v")" @@ -145,7 +144,7 @@ for version in "${versions[@]}"; do -e 's/^(ENV PYTHON_RELEASE) .*/\1 '"${fullVersion%%[a-z]*}"'/' \ -e 's/^(ENV PYTHON_PIP_VERSION) .*/\1 '"$pipVersion"'/' \ -e 's/^(FROM python):.*/\1:'"$version-$tag"'/' \ - -e 's!^(FROM (debian|buildpack-deps|alpine|microsoft/[^:]+)):.*!\1:'"$tag"'!' \ + -e 's!^(FROM (debian|buildpack-deps|alpine|mcr[.]microsoft[.]com/[^:]+)):.*!\1:'"$tag"'!' \ "$dir/Dockerfile" case "$variant" in @@ -198,18 +197,24 @@ for version in "${versions[@]}"; do esac case "$v" in - windows/*-1709) ;; # no AppVeyor support for 1709 yet: https://github.com/appveyor/ci/issues/1885 + windows/*-1803) + travisEnv='\n - os: windows\n dist: 1803-containers\n env: VERSION='"$version VARIANT=$v$travisEnv" + ;; + + windows/*-1709 | windows/*-1809) ;; # no AppVeyor support for 1709 or 1809 yet: https://github.com/appveyor/ci/issues/1885 and https://github.com/appveyor/ci/issues/2676 + windows/*) appveyorEnv='\n - version: '"$version"'\n variant: '"$variant$appveyorEnv" ;; + *) - travisEnv='\n - VERSION='"$version VARIANT=$v$travisEnv" + travisEnv='\n - os: linux\n env: VERSION='"$version VARIANT=$v$travisEnv" ;; esac done done -travis="$(awk -v 'RS=\n\n' '$1 == "env:" { $0 = "env:'"$travisEnv"'" } { printf "%s%s", $0, RS }' .travis.yml)" +travis="$(awk -v 'RS=\n\n' '$1 == "matrix:" { $0 = "matrix:\n include:'"$travisEnv"'" } { printf "%s%s", $0, RS }' .travis.yml)" echo "$travis" > .travis.yml appveyor="$(awk -v 'RS=\n\n' '$1 == "environment:" { $0 = "environment:\n matrix:'"$appveyorEnv"'" } { printf "%s%s", $0, RS }' .appveyor.yml)"