diff --git a/docsource/090_contribute.rst b/docsource/090_contribute.rst index e0037433e7d3..5a6f776c9d16 100644 --- a/docsource/090_contribute.rst +++ b/docsource/090_contribute.rst @@ -10,6 +10,47 @@ In order to contribute to the OpenUpgrade project, please database, and give back any code improvements developed during the project. +How to contribute new migration scripts +--------------------------------------- + +To Contribute to OpenUpgrade you must make one pull request per module. + +For example, if you want to propose the migration script of the ``account`` +module from version 15.0 to version 16.0: + + * Always ensure that there is no work already in progress by a community member. + For that purpose, go the issue named "Migration to version NN.0" on GitHub, where NN is the version for which you want to propose the script. + `here `_. + + Sometimes, the pull request is not yet registered in the issue, so it's not bad to do a search on the opened pull requests with the name of the module to look for. + + * Then, ensure that all the dependencies of the module are mark as ``done`` or + ``Nothing to do`` in OpenUpgrade for that version. + For that purpose, refer to :doc:`030_coverage_analysis`. + In our example, check the ``depends`` key of the `manifest `_ of the ``account`` module + If some dependencies are missing, you should start by migrating these modules. + + * As other OCA contribution, create a new branch, from an up to date OCA branch: + + ``git checkout -b 16.0-mig-account`` + + * Make a copy of the analysis file with the suffix ``_work``. + + ``cd ./openupgrade_scripts/scripts/account/16.0.1.2/`` + ``cp upgrade_analysis.txt upgrade_analysis_work.txt`` + + * Explain the changes to do in the ``upgrade_analysis_work.txt``. + Write ``pre-migration.py`` and / or ``post-migration.py`` scripts in the same folder. + Comment / uncomment lines in ``noupdate_changes.xml``. + (Read more in :doc:`080_migration_script_development`) + + * Finally, commit your changes. + ``git add . && git commit -am "[OU-ADD] account"`` + (For a fix, use ``[OU-FIX]`` prefix) + + * Propose your changes to the community for review. + ``git push MY_REMOTE 16.0-mig-account`` + Community involvement ---------------------