OCA Infrastructure Overview�
OCA is big
Goals of the OCA infrastructure
Moving parts...
GitHub.com
translation.�odoo-community.org (weblate)
GitHub actions
pre-commit
tests
click-odoo-makepot
oca-github-bot
pypi.org
wheelhouse.�odoo-community.org
runboat.�odoo-community.org
odoo-community.org Odoo instance
interface-�github
/apps
PSC, CLA
.po
.pot
.pot
pr/push events
pr/push events
pr/push/�comment events
Merge, readme updates, ...
publish
publish
team sync,
cla checks
codecov
Coverage comments
pr events
Coverage report
Parts
Linting
Linting (<= 12.0)
Linting (>= 13.0)
Linting - pre-commit config
Hook repo �(look there for documentation)
Hook version�(pinned so everyone is on the same page)
Hook to run�(a repo can contain several hooks)
Linting - running locally
Linting - running in CI
GitHub.com
GitHub actions
pre-commit
pr/push events
Linting - interpret output
A check (black in this cased) failed, read output carefully
Linting - interpret output
If you see a diff, run pre-commit locally and git commit all changes.
Just read the instructions :)
Linting - interpret output
Sometimes you need to fix manually
Testing on Travis
GitHub.com
travis-ci.com
GitHub actions
tests
runbot.�odoo-community.org
pr/push events
pr/push events
Testing on Travis
Testing on Travis travis_install_nightly
Testing on Travis�dependencies “OCA” mode
Testing on Travis
dependencies “OCA” mode
Adding unmerged dependencies temporarily
Testing on Travis
dependencies “PIP” mode
Testing on Travis
dependencies “PIP” mode
Adding unmerged dependencies
Testing on Travis
running tests
Testing on Travis
More information
See README in OCA/maintainer-quality-tools.
See configuration options in OCA/oca-addons-repo-template (.travis.yml.jinja in particular).
Testing on GitHub Actions
Container images
Testing on GitHub Actions
Testing on GitHub Actions
Each step a single call inside the container.
Easy to transition to another CI or self hosted runners if needed.
Testing on GitHub actions
dependencies
Testing on GitHub actions
dependencies
Adding unmerged dependencies
Testing - runboat
Testing - runboat
1 row per branch/PR
Code coverage
GitHub.com
travis-ci.com
GitHub Actions
tests
pr/push events
codecov
Coverage comments
Coverage report
Translations
GitHub.com
translation.�odoo-community.org (weblate)
travis-ci.com
GitHub actions
tests
click-odoo-makepot
.po
.pot
.pot
pr/push events
Translations - generate .pot files
Translations - weblate
OCA GitHub Bot
GitHub.com
oca-github-bot
pr/push/�comment events
Merge, readme updates, ...
OCA GitHub Bot main features
OCA GitHub Bot - /ocabot merge
Publishing
GitHub.com
oca-github-bot
pypi.org
wheelhouse.�odoo-community.org
odoo-community.org Odoo instance
interface-�github
/apps
Merge, readme updates, ...
publish
publish
Teams and CLA
GitHub.com
odoo-community.org Odoo instance
PSC, CLA
team sync,
cla checks
pr events
Monitoring
Contributors Welcome