test
All checks were successful
Build and Push Multi-Arch Docker Images / build (push) Successful in 2m37s
All checks were successful
Build and Push Multi-Arch Docker Images / build (push) Successful in 2m37s
This commit is contained in:
@@ -1,155 +0,0 @@
|
|||||||
#!/bin/sh -e
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
run_tests() {
|
|
||||||
local branch="$1"
|
|
||||||
local dir="$2"
|
|
||||||
local arch=$(uname -m)
|
|
||||||
local testimage="alpine:${branch#v}-test"
|
|
||||||
docker build -t "$testimage" "$dir/$arch/"
|
|
||||||
BRANCH="$branch" bats ./tests/common.bats
|
|
||||||
docker rmi "$testimage"
|
|
||||||
}
|
|
||||||
|
|
||||||
prepare() {
|
|
||||||
local branch="$1"
|
|
||||||
local dir=$(mktemp -d /tmp/docker-brew-alpine-XXXXXX)
|
|
||||||
docker build -t docker-brew-alpine-fetch .
|
|
||||||
docker run \
|
|
||||||
${MIRROR+ -e "MIRROR=$MIRROR"} \
|
|
||||||
--user $(id -u) --rm \
|
|
||||||
-v $dir:/out \
|
|
||||||
docker-brew-alpine-fetch $branch /out
|
|
||||||
echo "=> Verifying checksums"
|
|
||||||
( cd $dir && sha512sum -c checksums.sha512)
|
|
||||||
echo "=> temp dir: $dir"
|
|
||||||
run_tests "$branch" "$dir"
|
|
||||||
echo "=> To create git branch run:"
|
|
||||||
echo ""
|
|
||||||
echo " $0 branch $branch $dir"
|
|
||||||
echo ""
|
|
||||||
TMPDIR="$dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
branch() {
|
|
||||||
local branch="$1"
|
|
||||||
local dir="$2"
|
|
||||||
local version=$(cat $dir/VERSION)
|
|
||||||
if [ -z "$dir" ]; then
|
|
||||||
help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "=> Creating branch for release $version from $dir"
|
|
||||||
|
|
||||||
if [ -n "$(git status --porcelain)" ]; then
|
|
||||||
echo "=> git status is not clean. Aborting"
|
|
||||||
git status --porcelain
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
git checkout master
|
|
||||||
git branch -D "$branch" || true
|
|
||||||
git checkout --orphan "$branch"
|
|
||||||
git rm --cached -r .
|
|
||||||
rm -fr ./* .dockerignore
|
|
||||||
mv "$dir"/* .
|
|
||||||
rmdir "$dir"
|
|
||||||
git add *
|
|
||||||
git commit -m "Update Alpine $branch - $version"
|
|
||||||
|
|
||||||
echo "=> Branch created:"
|
|
||||||
echo ""
|
|
||||||
echo "=> To upload release do: git push -f origin $branch"
|
|
||||||
library "$branch"
|
|
||||||
echo ""
|
|
||||||
echo "=> After 'git push -f origin $branch', add the above to:"
|
|
||||||
echo "=> https://github.com/docker-library/official-images/blob/master/library/alpine"
|
|
||||||
git checkout master
|
|
||||||
}
|
|
||||||
|
|
||||||
library_arch() {
|
|
||||||
case "$1" in
|
|
||||||
armhf) echo "arm32v6";;
|
|
||||||
armv7) echo "arm32v7";;
|
|
||||||
aarch64) echo "arm64v8";;
|
|
||||||
ppc64le) echo "ppc64le";;
|
|
||||||
riscv64) echo "riscv64";;
|
|
||||||
s390x) echo "s390x";;
|
|
||||||
x86) echo "i386";;
|
|
||||||
x86_64) echo "amd64";;
|
|
||||||
*) echo "Unknown architecture: $1" >&2; exit 1;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
library() {
|
|
||||||
local branch="$1"
|
|
||||||
local gitbranch=$(git rev-parse --abbrev-ref HEAD)
|
|
||||||
if [ "$gitbranch" != "$branch" ]; then
|
|
||||||
git checkout --quiet "$branch"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local arches= dirs=
|
|
||||||
local version=$(cat VERSION)
|
|
||||||
|
|
||||||
for file in */Dockerfile; do
|
|
||||||
local a=${file%/Dockerfile}
|
|
||||||
arches="${arches}${arches:+, }$(library_arch $a)"
|
|
||||||
dirs="$dirs $a"
|
|
||||||
done
|
|
||||||
cat <<-EOF
|
|
||||||
|
|
||||||
Tags: $version, ${branch#v}
|
|
||||||
Architectures: $arches
|
|
||||||
GitFetch: refs/heads/$branch
|
|
||||||
GitCommit: $(git rev-parse HEAD)
|
|
||||||
EOF
|
|
||||||
for dir in $dirs; do
|
|
||||||
echo "$(library_arch $dir)-Directory: $dir/"
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$gitbranch" != "$branch" ]; then
|
|
||||||
git checkout --quiet "$gitbranch"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
help() {
|
|
||||||
cat <<EOF
|
|
||||||
Usage: $0 COMMAND [OPTS]
|
|
||||||
|
|
||||||
Commands:
|
|
||||||
|
|
||||||
prepare [BRANCH] - fetch release latest minirootfs to a temp directory and
|
|
||||||
create Dockerfiles
|
|
||||||
|
|
||||||
test BRANCH DIR - run tests
|
|
||||||
|
|
||||||
branch BRANCH DIR - update git branch with previously prepared temp
|
|
||||||
directory
|
|
||||||
|
|
||||||
library BRANCH - Print metadata for:
|
|
||||||
https://github.com/docker-library/official-images
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd=$1
|
|
||||||
# shift
|
|
||||||
|
|
||||||
branch=${1:-edge}
|
|
||||||
dir="$2"
|
|
||||||
|
|
||||||
case "$cmd" in
|
|
||||||
prepare) prepare "$branch";;
|
|
||||||
test) run_tests "$branch" "$dir";;
|
|
||||||
branch) branch "$branch" "$dir";;
|
|
||||||
library) library "$branch";;
|
|
||||||
all)
|
|
||||||
prepare "$branch"
|
|
||||||
branch "$branch" "$TMPDIR"
|
|
||||||
;;
|
|
||||||
*) help $0;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user