Same system as ecocentral-18 (see its docs/CI-CD.md): - ci.yml: lint (pre-commit), test (tools/ci/run_tests.py, OCA-style two-phase install) and review (PR bot, after lint and test). - issue-bot.yml: the issue bot answers issues or opens a PR on bot/issue-N. - pr-bot.yml: review when WIP is removed or the i18n label is added. - .gitea/issue-bot.md: context for the bots; this repo is shared by several clients. The bot scripts are copies of ecocentral's. Only the defaults differ (repo, token and state files, i18n languages es,eu,ca,gl) along with the [I18N] commit message and the references to the runner's sources.txt. The jobs run on a second forgejo-runner registration (CriptoMart org) on ecocentral's runner machine, sharing its image, mounts and cache. The runner files (Dockerfile, update.sh, sources.txt) live in ecocentral. Specific to this repo: - ODOO_SRC_SKIP: the runner's /odoo-src/18.0 holds a clone of addons-cm, so test skips it and checks the PR checkout instead. - BOT_BASE_BRANCH "18.0": the repo's default branch is 16.0. - test PostgreSQL on port 54330: ecocentral's runs on 54329 and a test job from each repo can run at the same time. The lint job fails until the repo is cleaned up with pre-commit run --all-files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
Este repo no es de un único cliente: son los addons de Odoo 18 Community que
|
|
Criptomart comparte entre varias instancias (Elika Bilbo y otros grupos y
|
|
cooperativas de consumo, y Ecocentral, que lo usa como dependencia). Hay
|
|
addons de precios y productos, compra colectiva para grupos de consumo
|
|
(`website_sale_aplicoop`), socias y cuotas, TPV (CashDro), logística y
|
|
contabilidad.
|
|
|
|
- Un cambio aquí llega a todas las instancias que instalan ese addon. Cuida la
|
|
compatibilidad: nada de suponer la configuración, los datos ni el idioma de
|
|
un cliente concreto, y nada que rompa los datos que ya existen (sube la
|
|
versión del manifest y añade un script de migración cuando haga falta). Si
|
|
lo que se pide solo tiene sentido para un cliente, propón hacerlo
|
|
configurable o en un addon aparte, y dilo.
|
|
- La rama `18.0` es la de trabajo. `16.0` y `17.0` son de versiones anteriores
|
|
de Odoo: si una incidencia se refiere a ellas, dilo en lugar de resolverla
|
|
aquí. Si se refiere a un addon propio de un cliente (por ejemplo los `eco_*`
|
|
de ecocentral), también.
|
|
- Las fuentes de Odoo y OCA traen un clon de este mismo repo (`addons-cm`) de
|
|
la última actualización semanal: el código que vale es el del árbol de
|
|
trabajo, no ese clon.
|
|
- Convenciones de código: `.github/copilot-instructions.md`. Lo principal: la
|
|
lógica de negocio va en `product.product` (en `product.template`, campos
|
|
`related`); nada de lógica en QWeb ni en JavaScript, se prepara en Python;
|
|
sin `_()` en la definición de los campos; no se modifican los addons de OCA
|
|
ni el core, se heredan desde un addon propio.
|
|
- Idioma de los textos: el código, los comentarios y los textos que ve el
|
|
usuario (campos, vistas, mensajes) se escriben en inglés, y sus traducciones
|
|
van en `i18n/<idioma>.po`. Castellano (`es.po`) y euskera (`eu.po`) son
|
|
obligatorios; hay addons con `ca.po` y `gl.po`. Los `.po` se editan con
|
|
`polib`, nunca con `msgmerge`, que los corrompe.
|
|
- Las personas que abren incidencias escriben en castellano o en euskera, y
|
|
usan Odoo en castellano o en euskera: nombra los menús y campos como salen
|
|
en pantalla en su idioma.
|
|
- Commits con el estilo `[FIX] website_sale_aplicoop: show the full product
|
|
name on the cards` (etiquetas `[ADD] [FIX] [IMP] [REF] [REM] [I18N] [DOC]`),
|
|
en inglés; título y descripción del PR también en inglés.
|