2.9 KiB
Tools to understand
The library is using many tools. It is recommanded to understand that tools to contribute to that project.
- Docker (https://www.docker.com/)
- Dind (Docker In Docker) for running docker in gitlab-ci. (https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-in-docker)
- Gitlab CI (https://docs.gitlab.com/ee/ci/quick_start/index.html)
- openupgrade project (https://github.com/oca/openupgrade) and related openupgradelib (https://github.com/oca/openupgradelib)
- poetry (https://python-poetry.org/)
- odoorpc (https://github.com/OCA/odoorpc)
- git-aggregator (https://github.com/acsone/git-aggregator)
- click-odoo (https://github.com/acsone/click-odoo)
Extra Developper Requirements
If you want to use this library without installing anything in your system, execute the following steps, otherwise, go to 'Installation' part.
- Run a docker container:
docker run -it ubuntu:focal
- Execute the following commnands
apt-get update
apt-get install git python3 python3-pip python3-venv
python3 -m pip install --user pipx
python3 -m pipx ensurepath
su root
pipx install virtualenv
pipx install poetry
Installation
git clone https://gitlab.com/odoo-openupgrade-wizard/odoo-openupgrade-wizard/
cd odoo-openupgrade-wizard
virtualenv env --python=python3
. ./env/bin/activate
poetry install
odoo-openupgrade-wizard commands are now available in your virutalenv.
Add python dependencies
If you add new dependencies, you have to:
-
add the reference in the file
pyproject.toml -
run the following command in your virtualenv :
poetry update
Run tests
Via pytest
This will run tests only for the current python3.X version.
(in your virtualenv)
poetry run pytest --cov odoo_openupgrade_wizard --verbosity=2 --exitfirst
Debug Test
poetry run pytest --verbosity=2 --exitfirst --cov odoo_openupgrade_wizard\
tests/cli_01_init_test.py\
tests/cli_02_get_code_test.py\
tests/cli_03_docker_build_test.py\
tests/cli_04_run_test.py\
tests/cli_06_execute_script_sql_test.py
Via Tox
This will run tests for all the python versions put in the tox.ini folder.
(in your virtualenv)
tox
Note : you should have all the python versions available in your local system.
sudo apt-get install python3.6 python3.6-distutils
sudo apt-get install python3.7 python3.7-distutils
sudo apt-get install python3.8 python3.8-distutils
sudo apt-get install python3.9 python3.9-distutils
Via Gitlab Runner locally
# Install tools
pipx install gitlabci-local
# Run new available command
gitlabci-local
Réferences
- how to install gitlab runner locally:
https://docs.gitlab.com/runner/install/linux-manually.html
- Check your CI locally. (French)
https://blog.stephane-robert.info/post/gitlab-valider-ci-yml/
https://blog.callr.tech/building-docker-images-with-gitlab-ci-best-practices/