From 48e86fd364ee3b961d78b3d31ecee33c85a5c3dc Mon Sep 17 00:00:00 2001 From: hoangvv Date: Wed, 15 Jan 2025 08:54:15 +0700 Subject: [PATCH] refactor: change from pyenv to venv for more simplified package management --- .gitea/workflows/setup_native.yml | 63 ++---------------------------- .github/workflows/setup_docker.yml | 1 + Makefile | 5 ++- setup/init_config.sh | 7 ++-- 4 files changed, 11 insertions(+), 65 deletions(-) diff --git a/.gitea/workflows/setup_native.yml b/.gitea/workflows/setup_native.yml index 1041a4ed2..5a8b05865 100644 --- a/.gitea/workflows/setup_native.yml +++ b/.gitea/workflows/setup_native.yml @@ -5,76 +5,19 @@ on: - main jobs: - test: - runs-on: host - steps: - - name: Get Current directory - run: echo $(pwd) setup_native: if: contains(github.event.head_commit.message, '@native') runs-on: host - strategy: - matrix: - python: - - 3.12.7 steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ github.ref_name }} - - name: Clean up Virtual Environment by branch - run: ./setup/clean_up_virtualenvs.sh 0 - - - name: Create Virtual Environment - run: | - export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" - pyenv virtualenv ${{ matrix.python }} "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")" - - - - name: Activate Virtual Environment - run: | - export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" - pyenv activate "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")" - python --version # Confirm Python version - - - name: Install dotenv - run: | - export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" - pyenv activate "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")" - pip install python-dotenv - - name: Setup - run: | - export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" - pyenv activate "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")" - make install + run: make install - name: Generate Config - run: | - export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" - pyenv activate "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")" - make gen_config + run: make gen_config - name: Run Tests - run: | - export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" - pyenv activate "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")" - make run_test + run: make run_test diff --git a/.github/workflows/setup_docker.yml b/.github/workflows/setup_docker.yml index a50208b8d..9b29e8533 100644 --- a/.github/workflows/setup_docker.yml +++ b/.github/workflows/setup_docker.yml @@ -9,6 +9,7 @@ on: # - main jobs: setup_docker: + if: contains(github.event.head_commit.message, '@docker') runs-on: self-hosted strategy: matrix: diff --git a/Makefile b/Makefile index 053e7daf7..973cc9fb2 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,8 @@ PWD = $(shell pwd) UID = $(shell id -u) GID = $(shell id -g) -PYTHON=python +PIP=${PWD}/venv/bin/pip +PYTHON=${PWD}/venv/bin/python DOCKERCMD=docker DOCKER_COMPOSE_CMD=docker-compose DOCKER_BUILD=$(DOCKERCMD) build @@ -22,7 +23,7 @@ VERSION := community ADDONS=${PWD}/addons,${PWD}/odoo/addons install: - pip install --no-input -r requirements.txt --break-system-packages + ${PIP} install --no-input -r requirements.txt --break-system-packages gen_config: ${PWD}/setup/init_config.sh --native ${ADDONS} run_server: diff --git a/setup/init_config.sh b/setup/init_config.sh index 610a265fb..556f7d0cc 100755 --- a/setup/init_config.sh +++ b/setup/init_config.sh @@ -6,7 +6,8 @@ set -euo pipefail DEPLOY_PATH=$(pwd)/deployment SETUP_PATH=$(pwd)/setup - +PIP=$(pwd)/venv/bin/pip +PYTHON=$(pwd)/venv/bin/python PG_USER=nexterp ODOO_ADDONS=./addons ODOO_CONFIG=./etc @@ -185,7 +186,7 @@ Generate_Config_Docker(){ if [[ ! -f "${DEPLOY_PATH}/.env" ]]; then cp "${DEPLOY_PATH}/env.template" "${DEPLOY_PATH}/.env" fi - python "$SETUP_PATH/gen_config_docker.py" --db_port 5432 --db_user $PG_USER --deploy_path "$DEPLOY_PATH" \ + ${PYTHON} "$SETUP_PATH/gen_config_docker.py" --db_port 5432 --db_user $PG_USER --deploy_path "$DEPLOY_PATH" \ --image "${ODOO_IMAGE}" --container "${ODOO_CONTAINER}" --tag "${ODOO_TAG:=latest}" \ --addons "${ODOO_ADDONS}" --config "${ODOO_CONFIG}" --backup "${VERSION}" Show 0 " Generate Config Complete" @@ -210,7 +211,7 @@ else Show 2 "User $USER already exists, updating password to $PASSWORD" sudo -u postgres psql -c "ALTER USER $USER WITH PASSWORD '$PASSWORD';" fi - python "$SETUP_PATH/gen_config.py" --db_user $USER --db_pass $PASSWORD --deploy_path "$(pwd)" \ + ${PYTHON} "$SETUP_PATH/gen_config.py" --db_user $USER --db_pass $PASSWORD --deploy_path "$(pwd)" \ --addons_path $ADDONS --db_port $DB_PORT Show 0 " Generate Config Complete" }