From 6343058ecedda079a92411c9ed9bc9c8aba4780d Mon Sep 17 00:00:00 2001 From: KaySar12 Date: Tue, 20 May 2025 08:35:18 +0700 Subject: [PATCH] refactor: simplify Makefile and update scripts --- Makefile | 60 ++++++++++++++++++++++++---------------------------- extra-addons | 2 +- utility | 2 +- 3 files changed, 30 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index 6387ed643..0e095cf2b 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,9 @@ endif ifneq ("$(wildcard automation/automation.mk)", "") include automation/automation.mk endif +ifneq ("$(wildcard utility/utility.mk)", "") + include utility/utility.mk +endif .SHELLFLAGS += ${SHELLFLAGS} -e PWD = $(shell pwd) UID = $(shell id -u) @@ -18,26 +21,23 @@ DOCKER_PUSH=$(DOCKERCMD) push DOCKER_IMAGE=$(DOCKERCMD) image DOCKER_EXEC=$(DOCKERCMD) exec DEPLOY_PATH=${PWD}/deployment -SETUP_PATH=${PWD}/setup +SCRIPT_PATH=${PWD}/utility/scripts CONFIG=odoo.conf HUB=hub.nextzenos.com CDN=https://cdn.nextzenos.com/CDN/NextERP ORGANIZATION=nexterp -PROJECT := odoo18 +PROJECT := Odoo18-Base ODOO_IMAGE=${HUB}/${ORGANIZATION}/$(PROJECT) TAG := $(shell git rev-parse --abbrev-ref HEAD) CONTAINER_ID=${PROJECT}-${TAG} VERSION := community ADDONS=${PWD}/addons,${PWD}/odoo/addons,${PWD}/extra-addons BACKUP=${CDN}/raw/branch/main/backup/${VERSION}/odoo18-main_2025-01-15_08-05-47.zip - AUTOMATION_PATH=${PWD}/automation - -########### Automation ######### -deploy-native: - @echo "Not implemented" +UPGRADE_SCRIPTS=$(shell cat upgrade_scripts | tr '\n' ',') +push_code: + $(PYTHON) ${SCRIPT_PATH}/interpreter/gen_commit.py $(GIT_USER) $(GIT_PASS) $(PWD) ##### Virtual Environment ##### - check-virtualenv: @if [ "$(VENV)" = "missing" ]; then \ echo "Creating virtual environment..."; \ @@ -52,20 +52,7 @@ install: check-virtualenv sudo apt update -y && \ sudo apt install -y python3-pip libldap2-dev libpq-dev libsasl2-dev postgresql-client libreoffice wkhtmltopdf ansible terraform&& \ ${PIP} install --no-input -r requirements.txt --break-system-packages -download_backup: - @if [ -z "${LINKDB}" ]; then \ - LinkDB=${BACKUP}; \ - read -p "LinkDownload [default: ${BACKUP}]: " InputLinkDB; \ - LinkDB=$${InputLinkDB:-${BACKUP}}; \ - else \ - LinkDB=${LINKDB}; \ - fi; \ - Filename=$$(basename $$LinkDB); \ - echo "Downloading $$Filename from: $$LinkDB"; \ - ${PWD}/setup/download_backup.sh $$LinkDB backup.zip -gen_config: - $(MAKE) download_backup LINKDB=${BACKUP} - ${PWD}/setup/init_config.sh --native ${ADDONS} ${DB_USER} ${DB_PASSWORD} ${DB_SERVER} ${DB_PORT} +#$(MAKE) download_backup LINKDB=${BACKUP} run_server: ${PYTHON} odoo-bin --config=${CONFIG} run_test: @@ -82,22 +69,32 @@ scaffold_module: read -p "addons Path[eg:addons, extra-addons, exercise]: " ModulePath; \ ${PYTHON} odoo-bin scaffold $$ModuleName && \ mv $$ModuleName ${PWD}/$$ModulePath; -cleanup_addons: - @bash ${PWD}/setup/clean_up_addons.sh $(shell echo $(ADDONS) | tr ',' ' ') install_modules: ${PYTHON} odoo-bin --config=${CONFIG} -d ${DATABASE} -i ${MODULES} --xmlrpc-port=${PORT} - +upgrade_modules: + @for script in $$(cat upgrade_scripts); do \ + echo "Running upgrade script: $$script"; \ + ${PYTHON} odoo-bin upgrade_code --script $$script --addons-path=${UPGRADE_DIR} || true; \ + done +delete_records: + ${PYTHON} ${SCRIPT_PATH}/delete_records.py ${DATABASE} ${BASE_MODEL} --force +drop_database: + ${PYTHON} odoo-bin db --config=${CONFIG} drop ${DATABASE} ##### Docker Deployment ######### run_test_docker: sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo --test-tags :TestAccountMove.test_out_invoice_auto_post_monthly,TestAccountMove.test_included_tax --log-level=test --test-enable -d testdb-${TAG} --stop-after-init --config=/etc/odoo/${CONFIG} --xmlrpc-port=8071 && \ sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo db --config=/etc/odoo/${CONFIG} drop testdb-${TAG} -gen_config_docker: - $(MAKE) download_backup LINKDB=${BACKUP} - ${PWD}/setup/init_config.sh --docker ${ODOO_IMAGE} ${TAG} ${CONTAINER_ID} +# $(MAKE) download_backup LINKDB=${BACKUP} build_image: - DOCKER_BUILDKIT=1 ${DOCKER_BUILD} . --progress plain --tag ${ODOO_IMAGE}:${TAG} + (cd ${DEPLOY_PATH} && \ + DOCKER_BUILDKIT=1 ${DOCKER_BUILD} . --progress=plain --no-cache --tag $$(echo ${ODOO_IMAGE} | tr A-Z a-z):${TAG}\ + ) +build_image_cache: + (cd ${DEPLOY_PATH} && \ + DOCKER_BUILDKIT=1 ${DOCKER_BUILD} . --progress=plain --tag $$(echo ${ODOO_IMAGE} | tr A-Z a-z):${TAG}\ + ) push_image: - $(DOCKER_PUSH) ${ODOO_IMAGE}:${TAG} + $(DOCKER_PUSH) $(shell echo ${ODOO_IMAGE}| tr A-Z a-z):${TAG} run_server_docker: @if ! docker ps | grep -q "${CONTAINER_ID}"; then \ echo "Container not found. Running docker-compose up -d"; \ @@ -106,8 +103,6 @@ run_server_docker: fi cd ${DEPLOY_PATH} &&\ ${DOCKER_COMPOSE_CMD} up -d -update_tag: - ${SETUP_PATH}/update_tag.sh $(CURR_BRANCH) restore_database_docker: sudo ${DOCKER_EXEC} ${CONTAINER_ID} odoo db -c /etc/odoo/odoo.conf load backup /var/lib/odoo/backup/backup.zip stop_server_docker: @@ -132,6 +127,7 @@ clean_up: ! -name "*.template" \ ! -name "*.py" \ ! -name "*.yml" \ + ! -name "*.txt" \ -print0 | sudo xargs -0 rm -rf {} && \ sudo rm -rf ${DEPLOY_PATH}/etc/* diff --git a/extra-addons b/extra-addons index 14084a207..cc10299c2 160000 --- a/extra-addons +++ b/extra-addons @@ -1 +1 @@ -Subproject commit 14084a207829189b12e258ff3d9b71d7a8194de3 +Subproject commit cc10299c2ebca1fa18fd30017cbab8291bda633b diff --git a/utility b/utility index 9a1c76e1a..4534f0d1c 160000 --- a/utility +++ b/utility @@ -1 +1 @@ -Subproject commit 9a1c76e1af73a832f1d44e5c1c41624a8385bdcc +Subproject commit 4534f0d1c95856d646e975be0ef669b4127b5d42