/
Collaborative Development Mechanisms (TECH)
Collaborative Development Mechanisms (TECH)
Description: How to define coding standards (documentation, tests, style); Pull request process
Leads: Ashraf, Darius
Rapporteur/Notetaker: Rich
Audio recording: Collaborative Mechanisms d2s3.mp3
Notes from Session:
Coding Standards, Pulls, etc.
- Once the branch is ready for a 2.0 tag, how do we continue with work?
- Idea #1: Use Gitflow
- Discussion on branch management.
- After tag master branch as 2.0, new projects start from here and merge back frequently.
- Who reviews the pull request? This comes with overhead
- Consider shared "develop" branch, esp. for short term.
- What happens if technical WG decides a pull request should not be merged back?
- If code/feature is not core/global, then the implementing team needs to create an extension point or some other mitigation
- Could have a "code review window", scheduled times when others are available as reviews
- In OpenMRS, three people are dedicated as full time reviewers, etc. for a period
- VR could have more active pull request review roll, as VR has some level of community funding
- Could merge, say weekly. Accept or reject (with comments back to owners),
- Also review ad hoc pull requests
- Decide release tags. Master is not strived to be stable 100% of the time
- Concern of overhead, esp. if rejections are involved. This is part of the open source tax.
- A technical working group ("security council") resolves disputes. Needs an escalation process
- Good practice is to avoid long running feature branches
- What are the standards for merging into master?
- Feature alignment - is the feature applicable to global/core?
- Code quality check(coverage, tests pass, code style standards, etc.). This can be automated.
- It is not checking low-level stuff, e.g. code formatting.
- Need CI, Sonar server, etc. to help with automation
- Concern about who is watching out for the integrity of OpenLMIS, e.g. technical guidance, high-level feature review.
- OpenLMIS needs a Technical Leadership Working Group to help guide OpenLMIS tech and feature roadmap
- Darius: This is good for short term. Also need a single person to act as "chief architect" for the product (and also a "chief product manager")
, multiple selections available,
Related content
Current State Technical Evaluation (TECH)
Current State Technical Evaluation (TECH)
More like this
Angola workflow and working with core Gdansk meeting 041619
Angola workflow and working with core Gdansk meeting 041619
More like this
Release Checklist
Release Checklist
More like this
Development Discussions
Development Discussions
More like this
2.0 Release Project
2.0 Release Project
More like this
Code Reviews, Goals & Workflow
Code Reviews, Goals & Workflow
More like this
OpenLMIS: the global initiative for powerful LMIS software