diff --git a/scripts/build.sh b/scripts/build.sh index 28324a8..3fc8d28 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -5,6 +5,7 @@ set -euo pipefail THIS_FILE=$(readlink -f "${BASH_SOURCE[0]}") THIS_DIR=$(dirname "$THIS_FILE") ROOT_DIR=$(dirname "$THIS_DIR") +WORKSPACE_DIR="$(dirname "$ROOT_DIR")" . "$THIS_DIR/kash/kash.sh" @@ -20,6 +21,7 @@ while getopts "pr:" option; do ;; r) # report outcome to slack CI_STEP_NAME=$OPTARG + load_env_files "$WORKSPACE_DIR/development/common/SLACK_WEBHOOK_JOBS.enc.env" trap 'slack_ci_report "$ROOT_DIR" "$CI_STEP_NAME" "$?" "$SLACK_WEBHOOK_JOBS"' EXIT ;; *) @@ -30,49 +32,17 @@ done ## Init workspace ## -WORKSPACE_DIR="$(dirname "$ROOT_DIR")" -init_job_infos "$ROOT_DIR" - -JOB=$(get_job_name) -VERSION=$(get_job_version) -KRAWLER_VERSION=$(get_job_krawler_version) -GIT_TAG=$(get_job_tag) - -if [[ -z "$GIT_TAG" ]]; then - echo "About to build ${JOB} development version based on krawler development version..." -else - echo "About to build ${JOB} v${VERSION} based on krawler ${KRAWLER_VERSION}..." -fi - -load_env_files "$WORKSPACE_DIR/development/common/kalisio_dockerhub.enc.env" "$WORKSPACE_DIR/development/common/SLACK_WEBHOOK_JOBS.enc.env" +load_env_files "$WORKSPACE_DIR/development/common/kalisio_dockerhub.enc.env" load_value_files "$WORKSPACE_DIR/development/common/KALISIO_DOCKERHUB_PASSWORD.enc.value" ## Build container ## -# Remove trailing @ in module name -IMAGE_NAME="kalisio/$JOB" -if [[ -z "$GIT_TAG" ]]; then - IMAGE_TAG=latest - KRAWLER_TAG=latest -else - IMAGE_TAG=$VERSION - KRAWLER_TAG=$KRAWLER_VERSION -fi - -begin_group "Building container ..." - -docker login --username "$KALISIO_DOCKERHUB_USERNAME" --password-stdin < "$KALISIO_DOCKERHUB_PASSWORD" -# DOCKER_BUILDKIT is here to be able to use Dockerfile specific dockerginore (job.Dockerfile.dockerignore) -DOCKER_BUILDKIT=1 docker build -f dockerfile \ - --build-arg KRAWLER_TAG=$KRAWLER_TAG \ - -t "$IMAGE_NAME:$IMAGE_TAG" \ - "$WORKSPACE_DIR/$JOB" - -if [ "$PUBLISH" = true ]; then - docker push "$IMAGE_NAME:$IMAGE_TAG" -fi - -docker logout - -end_group "Building container ..." +build_job \ + "$ROOT_DIR" \ + "kalisio" \ + "" \ + "$KALISIO_DOCKERHUB_URL" \ + "$KALISIO_DOCKERHUB_USERNAME" \ + "$KALISIO_DOCKERHUB_PASSWORD" \ + "$PUBLISH" diff --git a/scripts/kash b/scripts/kash index 1c75040..0f0b778 160000 --- a/scripts/kash +++ b/scripts/kash @@ -1 +1 @@ -Subproject commit 1c75040504cac682cae0d9b9ec1cca7e63ee6f6d +Subproject commit 0f0b778b7af583ad533420d2fbcea42c7290701b diff --git a/scripts/setup_workspace.sh b/scripts/setup_workspace.sh index 85c197c..5b7f988 100755 --- a/scripts/setup_workspace.sh +++ b/scripts/setup_workspace.sh @@ -11,9 +11,6 @@ ROOT_DIR=$(dirname "$THIS_DIR") ## Parse options ## -WORKSPACE_BRANCH= -WORKSPACE_TAG= - begin_group "Setting up workspace ..." if [ "$CI" = true ]; then @@ -30,25 +27,15 @@ else ;; esac done + shift $((OPTIND-1)) WORKSPACE_DIR="$1" - - # NOTE: cloning krawler could be avoided if we could parse app_version from tag/branch name instead - # In this case, the kli would clone krawler - GIT_OPS="--recurse-submodules" - if [ -n "$WORKSPACE_TAG" ] || [ -n "$WORKSPACE_BRANCH" ]; then - GIT_OPS="$GIT_OPS --branch ${WORKSPACE_TAG:-$WORKSPACE_BRANCH}" - fi - git clone --depth 1 $GIT_OPS "$GITHUB_URL/kalisio/k-teleray.git" "$WORKSPACE_DIR/k-teleray" - DEVELOPMENT_REPO_URL="$GITHUB_URL/kalisio/development.git" - # unset KALISIO_DEVELOPMENT_DIR because we want kli to clone everything in $WORKSPACE_DIR - unset KALISIO_DEVELOPMENT_DIR + # Clone project in the workspace + git_shallow_clone "$GITHUB_URL/kalisio/k-teleray.git" "$WORKSPACE_DIR/k-icos" "${WORKSPACE_TAG:-${WORKSPACE_BRANCH:-}}" fi -# clone development in $WORKSPACE_DIR -DEVELOPMENT_DIR="$WORKSPACE_DIR/development" -git clone --depth 1 "$DEVELOPMENT_REPO_URL" "$DEVELOPMENT_DIR" +setup_job_workspace "$WORKSPACE_DIR" "$DEVELOPMENT_REPO_URL" end_group "Setting up workspace ..."