CI config changes are low-risk and don't affect business code.
Direct push eliminates the need to manually validate 50+ PRs.
Changes:
- Push commits directly to target branches (no AGit PR flow)
- Simplified commit message: '[CI] sync config from odoo-elabore-ci'
- Update README to reflect direct push behavior
Replace automatic deployment (on push) with manual workflow_dispatch:
- Version filter: deploy to all versions or specific one (16.0, 18.0)
- Repo filter: deploy to all repos or comma-separated list
- Dry-run mode: preview changes without creating PRs
- Detailed summary with emoji indicators and statistics
Benefits:
- Full control over deployment scope and timing
- Safe preview before creating 50+ PRs
- Targeted deployments for testing
Update README with new deployment guide and examples.
Document repository purpose, architecture, workflows, and usage:
- CI deployment workflow explanation
- Linting tools overview
- How to modify CI configuration
- How to add new Odoo version support
- Configuration files explanation
- Secrets setup
- Version differences (16.0 vs 18.0)
Add config/18.0/ with configuration files based on OCA standards:
- .pylintrc and .pylintrc-mandatory (valid-odoo-versions=18.0)
- .ruff.toml (Python linting)
- .pre-commit-config.yaml with updated hooks:
- whool-init (new in 18.0)
- oca-gen-external-dependencies (new in 18.0)
- Updated prettier 3.x and eslint 9.x
- eslint.config.cjs and prettier.config.cjs (new flat config format)
Also move .eslintrc.yml and .prettierrc.yml to config/16.0/ since
18.0 uses the new CJS flat config format instead of YAML.
Replace per-branch versioning (16.0, 18.0...) with a single main branch
containing version-specific subdirectories under config/.
Structure:
- config/common/: shared files deployed to all versions
- config/16.0/: Odoo 16.0 specific configs (pylintrc, ruff, pre-commit)
The deploy workflow now:
- Triggers on push to main
- Auto-detects available versions from config/*/
- For each target repo, deploys common + version-specific files
Also enables Gitea native cache in pre-commit workflow.