Skip to content

Commit

Permalink
wip: wip: Refactor CI to use GitHub actions and generic bash scripts #22
Browse files Browse the repository at this point in the history
  • Loading branch information
cnouguier committed Apr 20, 2024
1 parent 31079ca commit 85c3e1d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 63 deletions.
52 changes: 11 additions & 41 deletions scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand All @@ -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
;;
*)
Expand All @@ -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"
2 changes: 1 addition & 1 deletion scripts/kash
Submodule kash updated 2 files
+333 −97 kash.sh
+38 −9 scripts/run_tests.sh
26 changes: 5 additions & 21 deletions scripts/setup_workspace.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@ ROOT_DIR=$(dirname "$THIS_DIR")

. "$THIS_DIR/kash/kash.sh"

## Parse options
##

WORKSPACE_BRANCH=
WORKSPACE_TAG=

begin_group "Setting up workspace ..."

if [ "$CI" = true ]; then
Expand All @@ -30,25 +24,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-openaq.git" "$WORKSPACE_DIR/k-openaq"

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-openaq.git" "$WORKSPACE_DIR/k-openaq" "${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 ..."
end_group "Setting up workspace ..."

0 comments on commit 85c3e1d

Please sign in to comment.