From b62b65159d9edac9b8f8d3429e455cf7b25f0904 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 14 Feb 2019 10:07:18 -0500 Subject: Consolidate a bit * Add xz compression tools * Squash some of the ENV delarations --- Dockerfile | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 91670d7..852d6fe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,11 @@ FROM centos:6.9 LABEL maintainer="jhunk@stsci.edu" \ vendor="Space Telescope Science Institute" +ARG USER_ACCT=${USER_ACCT:-developer} +ARG USER_HOME=/home/${USER_ACCT} +ARG USER_UID=${USER_UID:-1000} +ARG USER_GID=${USER_GID:-1000} + ENV TOOLCHAIN="/opt/toolchain" ENV TOOLCHAIN_BIN="${TOOLCHAIN}/bin" ENV TOOLCHAIN_LIB="${TOOLCHAIN}/lib" @@ -12,21 +17,14 @@ ENV TOOLCHAIN_MAN="${TOOLCHAIN_DATA}/man" ENV TOOLCHAIN_PKGCONFIG="${TOOLCHAIN_LIB}/pkgconfig" ENV TOOLCHAIN_BUILD="/opt/buildroot" -ENV PATH="${TOOLCHAIN_BIN}:${PATH}" -ENV CFLAGS="-I${TOOLCHAIN_INCLUDE}" -ENV LDFLAGS="-L${TOOLCHAIN_LIB} -Wl,-rpath=${TOOLCHAIN_LIB}" -ENV PKG_CONFIG_PATH="${TOOLCHAIN_PKGCONFIG}" - -ARG PYTHON_VERSION=${PYTHON_VERSION:-3.7.1} -ARG USER_ACCT=${USER_ACCT:-developer} -ARG USER_HOME=/home/${USER_ACCT} -ARG USER_UID=${USER_UID:-1000} -ARG USER_GID=${USER_GID:-1000} - ENV USER_ACCT=${USER_ACCT} \ USER_HOME=${USER_HOME} \ USER_UID=${USER_UID} \ USER_GID=${USER_GID} \ + PATH="${TOOLCHAIN_BIN}:${PATH}" \ + CFLAGS="-I${TOOLCHAIN_INCLUDE}" \ + LDFLAGS="-L${TOOLCHAIN_LIB} -Wl,-rpath=${TOOLCHAIN_LIB}" \ + PKG_CONFIG_PATH="${TOOLCHAIN_PKGCONFIG}" \ LC_ALL=en_US.UTF-8 \ LANG=en_US.UTF-8 \ LANGUAGE=en_US.UTF-8 @@ -44,7 +42,7 @@ RUN groupadd -g ${USER_GID} ${USER_ACCT} \ gcc \ gcc-c++ \ gcc-gfortran \ - glibc \ + glibc-devel \ make \ perl \ pkgconfig \ @@ -52,6 +50,7 @@ RUN groupadd -g ${USER_GID} ${USER_ACCT} \ wget \ which \ zlib-devel \ + xz \ && yum clean all WORKDIR "${TOOLCHAIN_BUILD}" -- cgit From 13fac75cd115ce484321cac1b079483bc9c58d5f Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 14 Feb 2019 10:07:54 -0500 Subject: Deterministic refactor --- build.sh | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/build.sh b/build.sh index 0254885..29f9980 100755 --- a/build.sh +++ b/build.sh @@ -1,9 +1,58 @@ #!/bin/bash -PROJECT=astroconda/base -VERSION="${1}" -if [[ -z ${VERSION} ]]; then - echo "Project version required [e.g. 1.2.3]" +set -x +HUB=${3:-astroconda} +PROJECT=${HUB}/base +PROJECT_VERSION="${1}" +TAGS=() + +if [[ -z ${PROJECT_VERSION} ]]; then + echo "Project version required [e.g. 1.2.3... \$(git describe)]" exit 1 fi -docker build -t ${PROJECT}:latest -t ${PROJECT}:${VERSION} . +read \ + PROJECT_VERSION_MAJOR \ + PROJECT_VERSION_MINOR \ + PROJECT_VERSION_PATCH <<< ${PROJECT_VERSION//\./ } + +case "${HUB}" in + *amazonaws\.com) + if ! type -p aws; then + echo "awscli client not installed" + exit 1 + fi + REGION="$(awk -F'.' '{print $(NF-2)}' <<< ${HUB})" + $(aws ecr get-login --no-include-email --region ${REGION}) + unset REGION + ;; + *) + # Assume default index + docker login + ;; +esac + +TAGS+=( "-t ${PROJECT}:${PROJECT_VERSION}" ) +is_tag_latest=$([[ -f LATEST ]] && [[ $( Date: Thu, 14 Feb 2019 16:27:47 -0500 Subject: Do not publish "nothing" --- build.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build.sh b/build.sh index 29f9980..cb4b5d7 100755 --- a/build.sh +++ b/build.sh @@ -40,6 +40,13 @@ if [[ -n ${is_tag_latest} ]]; then fi docker build ${TAGS[@]} . +rv=$? + +if (( rv > 0 )); then + echo "Failed... Image not published" + exit $? +fi + max_retry=4 retry=0 -- cgit From 777ff94eeaa8416df9263525393fc8678515ab7f Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 14 Feb 2019 16:28:40 -0500 Subject: Set LATEST --- LATEST | 1 + 1 file changed, 1 insertion(+) create mode 100644 LATEST diff --git a/LATEST b/LATEST new file mode 100644 index 0000000..3eefcb9 --- /dev/null +++ b/LATEST @@ -0,0 +1 @@ +1.0.0 -- cgit