Skip to content

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

  1. Create Feature Branch: Create a new branch from main for your work
  2. Make Changes: Implement your changes with clear, descriptive commits
  3. Reference Issues: Use issue numbers in commit messages to link related work
  4. Create Pull Request: Open a PR against main with a clear description
  5. Code Review: Team members review the changes
  6. 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:

[TYPE][MODULE] Brief description

Longer description if needed

Fixes #123

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.)