Giter Site home page Giter Site logo

vdedyukhin / maintainer-quality-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oca/maintainer-quality-tools

0.0 1.0 0.0 685 KB

QA tools for Odoo maintainers

License: GNU Affero General Public License v3.0

Shell 8.31% Python 91.23% JavaScript 0.46%

maintainer-quality-tools's Introduction

Build Status Coverage Status

QA Tools for Odoo maintainers (MQT)

The goal of Maintainer Quality Tools (MQT) is to provide helpers to ensure the quality of Odoo addons.

Sample travis configuration file (for version 7.0)

In order to setup TravisCI continuous integration for your project, just copy the content of the /sample_files to your project’s root directory.

If your project depends on other OCA or other Github repositories, create a file called oca_dependencies.txt at the root of your project and list the dependencies there. One per line like so:

project_name optional_repository_url optional_branch_name

During testbed setup, MQT will automatically download and place these repositories accordingly into the addon path. Note on addons path ordering: They will be placed after your own repo, but before the odoo core repo.

Check your .travis file for syntax issues.

You can test your .travis file in this linter. This is very useful when you are improving your file.

Multiple values for environment variable VERSION

You can use branch or pull request into environment variable VERSION:

  • Branch 10.0
    VERSION="10.0" ODOO_REPO="odoo/odoo"
    VERSION="pull/143" ODOO_REPO="odoo/odoo"

Using custom branch inside odoo repository using ODOO_BRANCH

You can use the custom branch into the ODOO_REPO using the environment variable ODOO_BRANCH:

  • Branch saas-17
  ODOO_REPO="odoo/odoo" ODOO_BRANCH="saas-17"

Module unit tests

MQT is also capable to test each module individually. The intention is to check if all dependencies are correctly defined. Activate it through the UNIT_TEST directive. An additional line should be added to the env: section, similar to this one:

- VERSION="8.0" UNIT_TEST="1"

Coveralls/Codecov configuration file

Coveralls and Codecov services provide information on the test coverage of your modules. Currently both configurations are automatic (check default configuration here). So, as of today, you don't need to include a .coveragerc into the repository, If you do it, it will be simply ignored.

NOTE: the current configuration automatically ignores *_example modules from coverage check. See maintainer-tools CONTRIBUTING doc for further info on tests.

Names used for the test databases

MQT has a nice feature of organizing your testing databases. You might want to do that if you want to double them up as staging DBs or if you want to work with an advanced set of templates in order to speed up your CI pipeline. Just specify at will: MQT_TEMPLATE_DB='mqt_odoo_template' MQT_TEST_DB='mqt_odoo_test'. Give us feedback on you experiences, and if you could share findings from your use case, there might be some grateful people arround.

Isolated pylint+flake8 checks

If you want to make a build exclusive for these checks, you can add a line on the env: section of the .travis.yml file with this content:

- VERSION="7.0" LINT_CHECK="1"

You will get a faster answer about these questions and also a fast view over semaphore icons in Travis build view.

To avoid making again these checks on other builds, you have to add LINT_CHECK="0" variable on the line:

- VERSION="7.0" ODOO_REPO="odoo/odoo" LINT_CHECK="0"

Disable test

If you want to make a build without tests, you can use the following directive: TEST_ENABLE="0"

You will simply get the databases with packages installed, but whithout running any tests.

maintainer-quality-tools's People

Contributors

bwrsandman avatar dreispt avatar ehtaga avatar elbati avatar elicoidal avatar francotampieri avatar guewen avatar gurneyalex avatar hbrunn avatar hugho-ad avatar jcdrubay avatar jgrandguillaume avatar jordibforgeflow avatar lasley avatar lepistone avatar lmignon avatar luisg123v avatar miquelrforgeflow avatar moylop260 avatar nbessi avatar nhomar avatar oihane avatar oscarolar avatar pcatinean avatar pedrobaeza avatar rlizana avatar sbidoul avatar stefanrijnhart avatar yajo avatar yvaucher avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.