Skip to content

Commit

Permalink
[ADD] Documentation for OpenUpgrade manager
Browse files Browse the repository at this point in the history
  • Loading branch information
legalsylvain committed Sep 30, 2024
1 parent d0fd03a commit 707900f
Show file tree
Hide file tree
Showing 2 changed files with 124 additions and 0 deletions.
123 changes: 123 additions & 0 deletions docsource/100_maintain_repository.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
Maintain OpenUpgrade Repository
===============================

The following documentation is for OpenUpgrade Maintainers.

Set up the branch for a new Odoo release
----------------------------------------

.. code-block:: shell
# Configuration
export PREV=16.0 OLD=17.0 NEW=18.0
git clone https://github.com/OCA/OpenUpgrade --single-branch -b $OLD
cd OpenUpgrade
NODOTPREV=${PREV/\./} # e.g. 16.0 -> 160
NODOTDOLD=${OLD/\./} # e.g. 17.0 -> 170
NODOTNEW=${NEW/\./} # e.g. 18.0 -> 180
ESCAPEDPREV=${PREV/\./\\\.} # e.g. 16.0 -> 16\.0
ESCAPEDOLD=${OLD/\./\\\.} # e.g. 17.0 -> 17\.0
# Create a new empty branch
git checkout --orphan $NEW
git rm -rf .
git commit --allow-empty --no-verify -m "[INIT] $NEW: Initialize branch"
git push origin $NEW
# Create a dedicated branch
git checkout -b $NEW-initialize
# Recover all the code from the old branch,
# - Remove coverage docsource file from old version
# - openupgrade_framework will be migrated in a future PR.
# - Remove scripts from old version
git format-patch --keep-subject --stdout $NEW..$OLD -- \
':!docsource' \
':!openupgrade_framework' \
':!openupgrade_scripts/scripts' \
':!openupgrade_scripts/apriori.py' \
| git am -3 --keep
# Replace No-Dot Syntax (140, 150, ...)
sed -i "s/$NODOTDOLD/$NODOTNEW/g" .github/workflows/*
sed -i "s/$NODOTPREV/$NODOTDOLD/g" .github/workflows/*
# Replace Doted Syntax (14.0, 15.0, ...)
sed -i "s/$ESCAPEDOLD/$NEW/g" \
.github/workflows/* \
.pylintrc* \
README.md \
openupgrade_scripts/readme/*
# Reset version in manifest file
sed -i "s/17\.0\(\.[[:digit:]]\)\{3\}/$NEW\.1\.0\.0/g" openupgrade_scripts/__manifest__.py
sed -i "s/$ESCAPEDPREV/$OLD/g" \
.github/workflows/* \
openupgrade_scripts/readme/*
git commit -am "[INIT] $NEW: Replace version numbers." --no-verify
# Initialize apriori.py file
cat << EOF > ./openupgrade_scripts/apriori.py
""" Encode any known changes to the database here
to help the matching process
"""
# Renamed modules is a mapping from old module name to new module name
renamed_modules = {
# odoo
# odoo/enterprise
# OCA/...
}
# Merged modules contain a mapping from old module names to other,
# preexisting module names
merged_modules = {
# odoo
# odoo/enterprise
# OCA/...
}
# only used here for upgrade_analysis
renamed_models = {
# odoo
# OCA/...
}
# only used here for upgrade_analysis
merged_models = {
# odoo
# OCA/...
}
EOF
git add ./openupgrade_scripts/apriori.py
git commit -am "[INIT] $NEW: Initialize apriori.py file." --no-verify
Finally, ``git push`` the branch on your fork, and make a pull request against OCA/$NEW branch.
Manual changes
--------------
* Execute the technical migration of ``upgrade_analysis`` from https://github.com/OCA/server-tools.
* Run the module migration, see https://github.com/OCA/OpenUpgrade/wiki/Crude-script-to-create-the-full-analysis-between-two-versions-of-Odoo. Run with Odoo configuration option module_coverage_file_folder = <some folder>.
* On success, propose the migration of ``upgrade_analysis`` into server-tools, and the analysis files into ``openupgrade_scripts``.
* Add a coverage file (e.g. docsource/modules170-180.rst)
* In the ``OpenUpgrade``/``documentation`` branch, add a new line in ``build_openupgrade_docs``.
* Push a test database for the old release to Github (see https://github.com/OCA/OpenUpgrade/wiki/How-to-create-a-reference-database)
* Execute the technical migration of ``openupgrade_framework``.
* Check files in .github/workflows for any required changes.
* Once development starts on the new edition's migration scripts, change the default branch for new PRs at https://github.com/OCA/OpenUpgrade/settings/branches.
1 change: 1 addition & 0 deletions docsource/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Contents:
070_migration_files.rst
080_migration_script_development.rst
090_contribute.rst
100_maintain_repository.rst

You should find the latest version of this documentation here: `<https://oca.github.io/OpenUpgrade>`_

Expand Down

0 comments on commit 707900f

Please sign in to comment.