Github Workflow and Development Process
This document outlines the development workflow and version control practices using Github for the CNF Odoo project.
Referencing Issues from Github Commits and Pull Requests
In your commits to the repo, you can reference Github issues using standard Github syntax:
#{ISSUE_NUMBER}
For example, in your commit message:
[FIX][connector_cnf_inventory] Inventory count import issue fixed #96
This commit will automatically link the commit to issue #96 and can trigger issue closure if using closing keywords.
Examples of commit or pull request message formatting:
| Commit or pull request message | Action |
|---|---|
Fixed #123 |
Links the commit to issue #123 |
Fixes #123 |
Links and automatically closes issue #123 when merged to main |
Closes #123 |
Links and automatically closes issue #123 when merged to main |
Resolves #123 |
Links and automatically closes issue #123 when merged to main |
Fixes #123, #124, and #126 |
Links and closes multiple issues |
Addresses #123 |
Links to issue #123 without closing it |
Closing Keywords
Github automatically closes issues when these keywords are used in commit messages or pull request descriptions:
- close, closes, closed
- fix, fixes, fixed
- resolve, resolves, resolved
Pull Request Workflow
- Create Feature Branch: Create a new branch from
mainfor your work - Make Changes: Implement your changes with clear, descriptive commits
- Reference Issues: Use issue numbers in commit messages to link related work
- Create Pull Request: Open a PR against
mainwith a clear description - Code Review: Team members review the changes
- Merge: Once approved, merge the PR to
main
Branch Naming Conventions
Use descriptive branch names that indicate the type of work:
- feature/module-name-enhancement
- fix/inventory-sync-bug
- upgrade/odoo-18-module-xyz
- docs/update-developer-guide
Commit Message Format
Follow conventional commit format for clear history:
Types: FEAT, FIX, DOCS, REFACTOR, TEST, UPGRADE
Github Project Management
For issue tracking and project management, use: - Issues: Track bugs, feature requests, and tasks - Projects: Organize work into sprints or milestones - Milestones: Group issues for releases or major features - Labels: Categorize issues (bug, enhancement, documentation, etc.)