diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 054cf58944d5b7820f1d5aaeb0a56bbb492ce829..747e768527fec27b63a5d3bb7a99a1905641a9cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,10 +15,7 @@ steve_jobs: tags: - docker script: - - go get github.com/prometheus/client_golang/prometheus - - go get github.com/prometheus/client_golang/prometheus/promhttp - - cd src/web - - GOBIN=${CI_PROJECT_DIR}/bin go install + - ./buildweb.sh artifacts: paths: - bin/web diff --git a/build.sh b/build.sh index 91bf00f275f641105c72df364394276af5a3399a..363ab44501487488807057a33a138aeb447130cb 100755 --- a/build.sh +++ b/build.sh @@ -1,9 +1,6 @@ REGISTRY=$1 -grep -v '^#' versions | \ -while read -r line; do - maxima_version="$(echo "$line" | cut -f1)" - sbcl_version="$(echo "$line" | cut -f2)" - stack_version="$(echo "$line" | cut -f3)" +grep -v '^#' versions | cut -f1 | \ +while read -r ver; do goemaxima_version="$2" - ./buildimage.sh "${sbcl_version}" "${maxima_version}" "$stack_version" "stack/$stack_version/maxima" "${REGISTRY}" "$goemaxima_version" || exit 1 + ./buildimage.sh "$ver" "${REGISTRY}" "$goemaxima_version" || exit 1 done diff --git a/buildimage.sh b/buildimage.sh index 6dc35cda0ca7e073354fa70534fdf7f212fad170..8531a52fc8bdad08d24faafba28aa71adb1d4210 100755 --- a/buildimage.sh +++ b/buildimage.sh @@ -1,26 +1,38 @@ -##/bin/bash -# arg1: sbcl version -# arg2: maxima version -# arg3: stack or moodle version: "stack-XXX" or "moodlev.X" -# arg4: LIB_PATH -# arg5: REGISTRY or dockerhub id -# arg6: version of goemaxima -# +#!/bin/bash +# arg1: stack or moodle version: "stack-XXX" or "moodlev.X" +# arg2: REGISTRY or dockerhub id + +stackver="$1" +if [ -z "$stackver" ]; then + echo "Stack version is missing" + echo "Usage: $0 stackmaximaversion [registry] [containerversion]" +fi +verstring=$(awk '$1 == "'"$1"'"{ print $0 }' versions) +sbclver="$(echo "$verstring" | cut -f2)" +maximaver="$(echo "$verstring" | cut -f3)" +goemaxver="$(cat goemaxima_version)" +libpath="stack/$stackver/maxima" echo "starting to build image for:" -echo "sbcl: $1" -echo "maxima: $2" -echo "stack: $3" -IMAGENAME="goemaxima:$3" -docker pull "$5/$IMAGENAME-dev" +echo "sbcl: $maximaver" +echo "maxima: $sbclver" +echo "stackmaxima: $stackver" +echo "goemaxima: $goemaxver" +REG="$2" +IMAGENAME="goemaxima:$1" +if [ -n "$REG" ]; then + docker pull "$2/$IMAGENAME-dev" +fi # build it -docker build -t "${IMAGENAME}" --build-arg MAXIMA_VERSION="$2" --build-arg SBCL_VERSION="$1" --build-arg LIB_PATH="$4" . || exit 1 +docker build -t "${IMAGENAME}" --build-arg MAXIMA_VERSION="$maximaver" --build-arg SBCL_VERSION="$sbclver" --build-arg LIB_PATH="$libpath" . || exit 1 echo "${IMAGENAME} wurde erfolgreich gebaut." # push the image -docker tag "$IMAGENAME" "$5/$IMAGENAME-dev" -docker push "$5/$IMAGENAME-dev" -if [ -n "$6" ]; then - docker tag "$IMAGENAME" "$5/$IMAGENAME-$6" - docker push "$5/$IMAGENAME-$6" - docker tag "$IMAGENAME" "$5/$IMAGENAME-latest" - docker push "$5/$IMAGENAME-latest" +if [ -n "$REG" ]; then + docker tag "$IMAGENAME" "$2/$IMAGENAME-dev" + docker push "$2/$IMAGENAME-dev" + if [ -n "$3" ]; then + docker tag "$IMAGENAME" "$2/$IMAGENAME-$3" + docker push "$2/$IMAGENAME-$3" + docker tag "$IMAGENAME" "$2/$IMAGENAME-latest" + docker push "$2/$IMAGENAME-latest" + fi fi diff --git a/buildweb.sh b/buildweb.sh new file mode 100755 index 0000000000000000000000000000000000000000..466f84b50be96590401cf3aaba303724cac9e065 --- /dev/null +++ b/buildweb.sh @@ -0,0 +1,4 @@ +go get github.com/prometheus/client_golang/prometheus +go get github.com/prometheus/client_golang/prometheus/promhttp +GOBIN=$(realpath bin) go install ./src/web + diff --git a/goemaxima_version b/goemaxima_version new file mode 100644 index 0000000000000000000000000000000000000000..6d7de6e6abef13b18021a3591debc53ac00616d4 --- /dev/null +++ b/goemaxima_version @@ -0,0 +1 @@ +1.0.2 diff --git a/versions b/versions index b12e282c3f8cc8a002adeb39cc0748f07027f354..d045f08597d55765d2b6114054184cc365f7cd8e 100644 --- a/versions +++ b/versions @@ -1,10 +1,10 @@ # maxima,sbcl,stack -5.41.0 2.0.2 2014083000 -5.41.0 2.0.2 2017121800 -5.41.0 2.0.2 2018030500 -5.41.0 2.0.2 2018080600 -5.41.0 2.0.2 2019090200 -5.41.0 2.0.2 2020042000 -5.41.0 2.0.2 2020052700 -5.41.0 2.0.2 2020061000 -5.41.0 2.0.2 2020070100 +2014083000 5.41.0 2.0.2 +2017121800 5.41.0 2.0.2 +2018030500 5.41.0 2.0.2 +2018080600 5.41.0 2.0.2 +2019090200 5.41.0 2.0.2 +2020042000 5.41.0 2.0.2 +2020052700 5.41.0 2.0.2 +2020061000 5.41.0 2.0.2 +2020070100 5.41.0 2.0.2