Add 0.7.0-beta2
This commit is contained in:
parent
d3bfa97a8d
commit
4b1b740df3
|
|
@ -3,7 +3,9 @@ image: Visual Studio 2017
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- version: .
|
- version: 0-rc
|
||||||
|
variant: windowsservercore-ltsc2016
|
||||||
|
- version: 0
|
||||||
variant: windowsservercore-ltsc2016
|
variant: windowsservercore-ltsc2016
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@
|
||||||
_awkArch() {
|
_awkArch() {
|
||||||
local version="$1"; shift
|
local version="$1"; shift
|
||||||
local awkExpr="$1"; shift
|
local awkExpr="$1"; shift
|
||||||
awk "$@" "/^#|^\$/ { next } $awkExpr" "$version/release-architectures"
|
local file="$version/release-architectures"
|
||||||
|
[ -f "$file" ] || file='release-architectures'
|
||||||
|
awk "$@" "/^#|^\$/ { next } $awkExpr" "$file"
|
||||||
}
|
}
|
||||||
|
|
||||||
dpkgArches() {
|
dpkgArches() {
|
||||||
|
|
|
||||||
10
.travis.yml
10
.travis.yml
|
|
@ -2,10 +2,12 @@ language: bash
|
||||||
services: docker
|
services: docker
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- VERSION=. VARIANT=stretch ARCH=
|
- VERSION=0-rc VARIANT=stretch ARCH=
|
||||||
- VERSION=. VARIANT=stretch ARCH=i386
|
- VERSION=0-rc VARIANT=stretch ARCH=i386
|
||||||
- VERSION=. VARIANT=jessie ARCH=
|
- VERSION=0 VARIANT=stretch ARCH=
|
||||||
- VERSION=. VARIANT=jessie ARCH=i386
|
- VERSION=0 VARIANT=stretch ARCH=i386
|
||||||
|
- VERSION=0 VARIANT=jessie ARCH=
|
||||||
|
- VERSION=0 VARIANT=jessie ARCH=i386
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- git clone https://github.com/docker-library/official-images.git ~/official-images
|
- git clone https://github.com/docker-library/official-images.git ~/official-images
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,71 @@
|
||||||
|
FROM debian:stretch
|
||||||
|
|
||||||
|
RUN set -eux; \
|
||||||
|
apt-get update; \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
# ERROR: no download agent available; install curl, wget, or fetch
|
||||||
|
curl \
|
||||||
|
; \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
ENV JULIA_PATH /usr/local/julia
|
||||||
|
ENV PATH $JULIA_PATH/bin:$PATH
|
||||||
|
|
||||||
|
# https://julialang.org/juliareleases.asc
|
||||||
|
# Julia (Binary signing key) <buildbot@julialang.org>
|
||||||
|
ENV JULIA_GPG 3673DF529D9049477F76B37566E3C7DC03D6E495
|
||||||
|
|
||||||
|
# https://julialang.org/downloads/
|
||||||
|
ENV JULIA_VERSION 0.7.0-beta2
|
||||||
|
|
||||||
|
RUN set -eux; \
|
||||||
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
if ! command -v gpg > /dev/null; then \
|
||||||
|
apt-get update; \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
gnupg \
|
||||||
|
dirmngr \
|
||||||
|
; \
|
||||||
|
rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi; \
|
||||||
|
\
|
||||||
|
# https://julialang.org/downloads/#julia-command-line-version
|
||||||
|
# https://julialang-s3.julialang.org/bin/checksums/julia-0.7.0-beta2.sha256
|
||||||
|
# this "case" statement is generated via "update.sh"
|
||||||
|
dpkgArch="$(dpkg --print-architecture)"; \
|
||||||
|
case "${dpkgArch##*-}" in \
|
||||||
|
# amd64
|
||||||
|
amd64) tarArch='x86_64'; dirArch='x64'; sha256='ea136f417d84ffb4b6bf58fcf534d839dc1c2e9f10696b355fc795dbe99e9d58' ;; \
|
||||||
|
# arm32v7
|
||||||
|
armhf) tarArch='armv7l'; dirArch='armv7l'; sha256='366584fa7c04edd018b6e310b6b4fbe9eb375819518f8500078113f54eb5159b' ;; \
|
||||||
|
# i386
|
||||||
|
i386) tarArch='i686'; dirArch='x86'; sha256='4017c1fb4d135239274390f51ec2cfce0573534807cf95c63dd54b33337897de' ;; \
|
||||||
|
*) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \
|
||||||
|
esac; \
|
||||||
|
\
|
||||||
|
folder="$(echo "$JULIA_VERSION" | cut -d. -f1-2)"; \
|
||||||
|
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
||||||
|
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
||||||
|
\
|
||||||
|
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
||||||
|
\
|
||||||
|
export GNUPGHOME="$(mktemp -d)"; \
|
||||||
|
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$JULIA_GPG"; \
|
||||||
|
gpg --batch --verify julia.tar.gz.asc julia.tar.gz; \
|
||||||
|
command -v gpgconf > /dev/null && gpgconf --kill all; \
|
||||||
|
rm -rf "$GNUPGHOME" julia.tar.gz.asc; \
|
||||||
|
\
|
||||||
|
mkdir "$JULIA_PATH"; \
|
||||||
|
tar -xzf julia.tar.gz -C "$JULIA_PATH" --strip-components 1; \
|
||||||
|
rm julia.tar.gz; \
|
||||||
|
\
|
||||||
|
apt-mark auto '.*' > /dev/null; \
|
||||||
|
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
|
||||||
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
|
\
|
||||||
|
# smoke test
|
||||||
|
julia --version
|
||||||
|
|
||||||
|
CMD ["julia"]
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
FROM microsoft/windowsservercore:1709
|
||||||
|
|
||||||
|
# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324
|
||||||
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
||||||
|
|
||||||
|
ENV JULIA_VERSION 0.7.0-beta2
|
||||||
|
ENV JULIA_SHA256 4f131a343c4bb98fd89caaf7fe9d5969a00cadd59d8177d1ea62340ca58169c7
|
||||||
|
|
||||||
|
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION.Split('.')[0..1] -Join '.')); \
|
||||||
|
Write-Host ('Downloading {0} ...' -f $url); \
|
||||||
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
||||||
|
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
||||||
|
\
|
||||||
|
Write-Host ('Verifying sha256 ({0}) ...' -f $env:JULIA_SHA256); \
|
||||||
|
if ((Get-FileHash julia.exe -Algorithm sha256).Hash -ne $env:JULIA_SHA256) { \
|
||||||
|
Write-Host 'FAILED!'; \
|
||||||
|
exit 1; \
|
||||||
|
}; \
|
||||||
|
\
|
||||||
|
Write-Host 'Installing ...'; \
|
||||||
|
Start-Process -Wait -NoNewWindow \
|
||||||
|
-FilePath '.\julia.exe' \
|
||||||
|
-ArgumentList @( \
|
||||||
|
'/S', \
|
||||||
|
'/D=C:\julia' \
|
||||||
|
); \
|
||||||
|
\
|
||||||
|
Write-Host 'Updating PATH ...'; \
|
||||||
|
$env:PATH = 'C:\julia\bin;' + $env:PATH; \
|
||||||
|
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \
|
||||||
|
\
|
||||||
|
Write-Host 'Verifying install ("julia --version") ...'; \
|
||||||
|
julia --version; \
|
||||||
|
\
|
||||||
|
Write-Host 'Removing ...'; \
|
||||||
|
Remove-Item julia.exe -Force; \
|
||||||
|
\
|
||||||
|
Write-Host 'Complete.'
|
||||||
|
|
||||||
|
CMD ["julia"]
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
FROM microsoft/windowsservercore:ltsc2016
|
||||||
|
|
||||||
|
# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324
|
||||||
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
||||||
|
|
||||||
|
ENV JULIA_VERSION 0.7.0-beta2
|
||||||
|
ENV JULIA_SHA256 4f131a343c4bb98fd89caaf7fe9d5969a00cadd59d8177d1ea62340ca58169c7
|
||||||
|
|
||||||
|
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION.Split('.')[0..1] -Join '.')); \
|
||||||
|
Write-Host ('Downloading {0} ...' -f $url); \
|
||||||
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
||||||
|
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
||||||
|
\
|
||||||
|
Write-Host ('Verifying sha256 ({0}) ...' -f $env:JULIA_SHA256); \
|
||||||
|
if ((Get-FileHash julia.exe -Algorithm sha256).Hash -ne $env:JULIA_SHA256) { \
|
||||||
|
Write-Host 'FAILED!'; \
|
||||||
|
exit 1; \
|
||||||
|
}; \
|
||||||
|
\
|
||||||
|
Write-Host 'Installing ...'; \
|
||||||
|
Start-Process -Wait -NoNewWindow \
|
||||||
|
-FilePath '.\julia.exe' \
|
||||||
|
-ArgumentList @( \
|
||||||
|
'/S', \
|
||||||
|
'/D=C:\julia' \
|
||||||
|
); \
|
||||||
|
\
|
||||||
|
Write-Host 'Updating PATH ...'; \
|
||||||
|
$env:PATH = 'C:\julia\bin;' + $env:PATH; \
|
||||||
|
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \
|
||||||
|
\
|
||||||
|
Write-Host 'Verifying install ("julia --version") ...'; \
|
||||||
|
julia --version; \
|
||||||
|
\
|
||||||
|
Write-Host 'Removing ...'; \
|
||||||
|
Remove-Item julia.exe -Force; \
|
||||||
|
\
|
||||||
|
Write-Host 'Complete.'
|
||||||
|
|
||||||
|
CMD ["julia"]
|
||||||
|
|
@ -43,8 +43,9 @@ RUN set -eux; \
|
||||||
*) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \
|
*) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \
|
||||||
esac; \
|
esac; \
|
||||||
\
|
\
|
||||||
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${JULIA_VERSION%[.-]*}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
folder="$(echo "$JULIA_VERSION" | cut -d. -f1-2)"; \
|
||||||
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${JULIA_VERSION%[.-]*}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
||||||
|
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
||||||
\
|
\
|
||||||
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
||||||
\
|
\
|
||||||
|
|
@ -43,8 +43,9 @@ RUN set -eux; \
|
||||||
*) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \
|
*) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \
|
||||||
esac; \
|
esac; \
|
||||||
\
|
\
|
||||||
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${JULIA_VERSION%[.-]*}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
folder="$(echo "$JULIA_VERSION" | cut -d. -f1-2)"; \
|
||||||
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${JULIA_VERSION%[.-]*}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
||||||
|
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
||||||
\
|
\
|
||||||
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
||||||
\
|
\
|
||||||
|
|
@ -6,7 +6,7 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref
|
||||||
ENV JULIA_VERSION 0.6.4
|
ENV JULIA_VERSION 0.6.4
|
||||||
ENV JULIA_SHA256 aa16b5fb54ab2821a09022db83d92db5d07c1092a24b7091f54fb4bca9e564eb
|
ENV JULIA_SHA256 aa16b5fb54ab2821a09022db83d92db5d07c1092a24b7091f54fb4bca9e564eb
|
||||||
|
|
||||||
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION -replace '[.-][^.-]+$', '')); \
|
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION.Split('.')[0..1] -Join '.')); \
|
||||||
Write-Host ('Downloading {0} ...' -f $url); \
|
Write-Host ('Downloading {0} ...' -f $url); \
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
||||||
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
||||||
|
|
@ -6,7 +6,7 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref
|
||||||
ENV JULIA_VERSION 0.6.4
|
ENV JULIA_VERSION 0.6.4
|
||||||
ENV JULIA_SHA256 aa16b5fb54ab2821a09022db83d92db5d07c1092a24b7091f54fb4bca9e564eb
|
ENV JULIA_SHA256 aa16b5fb54ab2821a09022db83d92db5d07c1092a24b7091f54fb4bca9e564eb
|
||||||
|
|
||||||
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION -replace '[.-][^.-]+$', '')); \
|
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION.Split('.')[0..1] -Join '.')); \
|
||||||
Write-Host ('Downloading {0} ...' -f $url); \
|
Write-Host ('Downloading {0} ...' -f $url); \
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
||||||
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
||||||
|
|
@ -36,8 +36,9 @@ RUN set -eux; \
|
||||||
# this "case" statement is generated via "update.sh"
|
# this "case" statement is generated via "update.sh"
|
||||||
%%ARCH-CASE%%; \
|
%%ARCH-CASE%%; \
|
||||||
\
|
\
|
||||||
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${JULIA_VERSION%[.-]*}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
folder="$(echo "$JULIA_VERSION" | cut -d. -f1-2)"; \
|
||||||
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${JULIA_VERSION%[.-]*}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc"; \
|
||||||
|
curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/linux/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz"; \
|
||||||
\
|
\
|
||||||
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
echo "${sha256} *julia.tar.gz" | sha256sum -c -; \
|
||||||
\
|
\
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref
|
||||||
ENV JULIA_VERSION %%JULIA_VERSION%%
|
ENV JULIA_VERSION %%JULIA_VERSION%%
|
||||||
ENV JULIA_SHA256 %%JULIA_WINDOWS_SHA256%%
|
ENV JULIA_SHA256 %%JULIA_WINDOWS_SHA256%%
|
||||||
|
|
||||||
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION -replace '[.-][^.-]+$', '')); \
|
RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION.Split('.')[0..1] -Join '.')); \
|
||||||
Write-Host ('Downloading {0} ...' -f $url); \
|
Write-Host ('Downloading {0} ...' -f $url); \
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
||||||
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
Invoke-WebRequest -Uri $url -OutFile 'julia.exe'; \
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,20 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
declare -A aliases=(
|
||||||
|
[0]='latest'
|
||||||
|
)
|
||||||
defaultDebianVariant='stretch'
|
defaultDebianVariant='stretch'
|
||||||
|
|
||||||
self="$(basename "$BASH_SOURCE")"
|
self="$(basename "$BASH_SOURCE")"
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||||
|
|
||||||
|
versions=( */ )
|
||||||
|
versions=( "${versions[@]%/}" )
|
||||||
|
|
||||||
|
# sort version numbers with highest first
|
||||||
|
IFS=$'\n'; versions=( $(echo "${versions[*]}" | sort -rV) ); unset IFS
|
||||||
|
|
||||||
# get the most recent commit which modified any of "$@"
|
# get the most recent commit which modified any of "$@"
|
||||||
fileCommit() {
|
fileCommit() {
|
||||||
git log -1 --format='format:%H' HEAD -- "$@"
|
git log -1 --format='format:%H' HEAD -- "$@"
|
||||||
|
|
@ -77,7 +86,7 @@ join() {
|
||||||
echo "${out#$sep}"
|
echo "${out#$sep}"
|
||||||
}
|
}
|
||||||
|
|
||||||
for version in .; do
|
for version in "${versions[@]}"; do
|
||||||
for v in \
|
for v in \
|
||||||
{stretch,jessie} \
|
{stretch,jessie} \
|
||||||
windows/windowsservercore-{ltsc2016,1709} \
|
windows/windowsservercore-{ltsc2016,1709} \
|
||||||
|
|
@ -93,11 +102,14 @@ for version in .; do
|
||||||
fullVersion="$(git show "$commit":"$dir/Dockerfile" | awk '$1 == "ENV" && $2 == "JULIA_VERSION" { print $3; exit }')"
|
fullVersion="$(git show "$commit":"$dir/Dockerfile" | awk '$1 == "ENV" && $2 == "JULIA_VERSION" { print $3; exit }')"
|
||||||
|
|
||||||
versionAliases=()
|
versionAliases=()
|
||||||
while [ "${fullVersion%.*}" != "$fullVersion" ]; do
|
while [ "$fullVersion" != "$version" -a "${fullVersion%[.-]*}" != "$fullVersion" ]; do
|
||||||
versionAliases+=( $fullVersion )
|
versionAliases+=( $fullVersion )
|
||||||
fullVersion="${fullVersion%.*}"
|
fullVersion="${fullVersion%[.-]*}"
|
||||||
done
|
done
|
||||||
versionAliases+=( $fullVersion latest )
|
versionAliases+=(
|
||||||
|
$version
|
||||||
|
${aliases[$version]:-}
|
||||||
|
)
|
||||||
|
|
||||||
variantAliases=( "${versionAliases[@]/%/-$variant}" )
|
variantAliases=( "${versionAliases[@]/%/-$variant}" )
|
||||||
variantAliases=( "${variantAliases[@]//latest-/}" )
|
variantAliases=( "${variantAliases[@]//latest-/}" )
|
||||||
|
|
|
||||||
29
update.sh
29
update.sh
|
|
@ -3,6 +3,12 @@ set -Eeuo pipefail
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||||
|
|
||||||
|
versions=( "$@" )
|
||||||
|
if [ ${#versions[@]} -eq 0 ]; then
|
||||||
|
versions=( */ )
|
||||||
|
fi
|
||||||
|
versions=( "${versions[@]%/}" )
|
||||||
|
|
||||||
source '.architectures-lib'
|
source '.architectures-lib'
|
||||||
|
|
||||||
# see http://stackoverflow.com/a/2705678/433558
|
# see http://stackoverflow.com/a/2705678/433558
|
||||||
|
|
@ -10,11 +16,26 @@ sed_escape_rhs() {
|
||||||
echo "$@" | sed -e 's/[\/&]/\\&/g' | sed -e ':a;N;$!ba;s/\n/\\n/g'
|
echo "$@" | sed -e 's/[\/&]/\\&/g' | sed -e ':a;N;$!ba;s/\n/\\n/g'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rcRegex='-(pre[.])?(alpha|beta|rc)[0-9]*'
|
||||||
|
|
||||||
|
pattern='.*/julia-([0-9]+\.[0-9]+\.[0-9]+('"$rcRegex"')?)-linux-x86_64\.tar\.gz.*'
|
||||||
|
allVersions="$(
|
||||||
|
curl -fsSL 'https://julialang.org/downloads/' \
|
||||||
|
| sed -rn "s!${pattern}!\1!gp" \
|
||||||
|
| sort -ruV
|
||||||
|
)"
|
||||||
|
|
||||||
travisEnv=
|
travisEnv=
|
||||||
appveyorEnv=
|
appveyorEnv=
|
||||||
for version in '.'; do
|
for version in "${versions[@]}"; do
|
||||||
pattern='.*/julia-([0-9]+\.[0-9]+\.[0-9]+)-linux-x86_64\.tar\.gz.*'
|
rcVersion="${version%-rc}"
|
||||||
fullVersion="$(curl -fsSL 'https://julialang.org/downloads/' | sed -rn "s!${pattern}!\1!gp" | sort -ruV | head -1)"
|
rcGrepV='-v'
|
||||||
|
if [ "$rcVersion" != "$version" ]; then
|
||||||
|
rcGrepV=
|
||||||
|
fi
|
||||||
|
rcGrepV+=' -E'
|
||||||
|
|
||||||
|
fullVersion="$(echo "$allVersions" | grep -E "^${rcVersion}([.-]|$)" | grep $rcGrepV -- "$rcRegex" | head -1)"
|
||||||
if [ -z "$fullVersion" ]; then
|
if [ -z "$fullVersion" ]; then
|
||||||
echo >&2 "error: failed to determine latest release for '$version'"
|
echo >&2 "error: failed to determine latest release for '$version'"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -50,7 +71,7 @@ for version in '.'; do
|
||||||
dir="$version/$v"
|
dir="$version/$v"
|
||||||
variant="$(basename "$v")"
|
variant="$(basename "$v")"
|
||||||
|
|
||||||
mkdir -p "$dir"
|
[ -d "$dir" ] || continue
|
||||||
|
|
||||||
case "$variant" in
|
case "$variant" in
|
||||||
windowsservercore-*) template='windowsservercore'; tag="${variant#*-}" ;;
|
windowsservercore-*) template='windowsservercore'; tag="${variant#*-}" ;;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue