refactor: change from pyenv to venv for more simplified package management
All checks were successful
Setup Docker Action / setup_docker (3.12.7) (push) Has been skipped
Setup Native Action / setup_native (push) Has been skipped

This commit is contained in:
hoangvv 2025-01-15 08:54:15 +07:00
parent 0151767149
commit 48e86fd364
4 changed files with 11 additions and 65 deletions

View File

@ -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

View File

@ -9,6 +9,7 @@ on:
# - main
jobs:
setup_docker:
if: contains(github.event.head_commit.message, '@docker')
runs-on: self-hosted
strategy:
matrix:

View File

@ -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:

View File

@ -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"
}