Files
hdacms/packages/hda-cms-extension-e2e/setup.sh
2025-02-27 16:18:52 +01:00

84 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env zsh
TABSHIFT_DIRECTUS_PATH="${0:h}/../../apps/directus"
TABSHIFT_DIRECTUS_NAME='tabshift4docker/directus'
CMS_EXTENSION_PATH="${0:h}/../hda-cms-extension"
DOCKER_E2E_SETUP_PATH="${0:h}/docker"
start_docker_runtime() {
colima status || colima start
}
stop_docker_runtime() {
colima status && colima stop
}
build_tabshift_directus_image() {
if docker image ls | grep ${TABSHIFT_DIRECTUS_NAME}; then
return
fi
docker buildx build -t ${TABSHIFT_DIRECTUS_NAME}:latest --platform linux/arm64 $TABSHIFT_DIRECTUS_PATH
}
start_docker_compose_service() {
pushd -q ${DOCKER_E2E_SETUP_PATH}
docker-compose up ${start_in_background:+'-d'}
popd -q
}
stop_docker_compose_services() {
pushd -q ${DOCKER_E2E_SETUP_PATH}
docker-compose stop
popd -q
}
start_docker_compose_service_and_runtime() {
local start_in_background=${1:+'y'}
start_docker_runtime
build_tabshift_directus_image
start_docker_compose_service
}
start_docker_compose_service_in_background() {
start_docker_compose_service_and_runtime start_in_background
}
start_docker_compose_service_in_foreground() {
start_docker_compose_service_and_runtime
}
stop_docker_compose_services_and_runtime() {
stop_docker_compose_services
stop_docker_runtime
}
build_cms_extension() {
pushd -q $CMS_EXTENSION_PATH
pnpm build
popd -q
}
trap 'docker container prune -f' INT TERM EXIT
main() {
local CMD=$1
case $CMD in
start)
build_cms_extension
start_docker_compose_service_in_background
;;
start-fg)
build_cms_extension
start_docker_compose_service_in_foreground
;;
stop-all)
stop_docker_compose_services_and_runtime
;;
*)
stop_docker_compose_services
;;
esac
}
main $*