Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Requirements, workflow and governance guidelines and definitions #56

Merged

Conversation

PaulFreund
Copy link
Collaborator

@PaulFreund PaulFreund commented Jun 14, 2023

As a foreword, please read this (draft) PR as being written with the best intentions. I don't want to overreach any boundarys or step on anyones toes, I want to give a starting point for discussion that is free to change in any dimension according to our needs.

Target is to give the greatest amount of people possible the chance to contribute to the project while knowing how their contributions will be handled while making sure we give the users of the community firmware a great experience with new features and stable performance.

Regarding governance the idea is to define the rules and workflow on how it can be handled in this PR and let our project management write down the actual governance and persons in the CODEOWNERS file so it is automatically taken into account in GitHubs PR system.

  • CONTRIBUTING.md
  • GOVERNANCE.md

EDIT: I decided to remove the Ownership section from GOVERNANCE.md for now and leave it for someone else to add it.

Pull request #59 should follow this Pull request as it implements a mechanism fore the proposed requirement of runtime feature settings

CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
@m-m-adams
Copy link
Collaborator

Given the lack of comprehensive regression testing, should we create a nightly branch where new features go first and then merge nightly to community on a monthly basis?

This would give an opportunity for early adopters to help find bugs and leave the community branch as something which should be useable

@PaulFreund
Copy link
Collaborator Author

Given the lack of comprehensive regression testing, should we create a nightly branch where new features go first and then merge nightly to community on a monthly basis?

This would give an opportunity for early adopters to help find bugs and leave the community branch as something which should be useable

I agree on the sentiment that we need a quality control mechanism between Pull requests and releases. My suggestion would be to make a Discussion item we can vote on to switch from "community" to "develop" branch we (CI in the future) generate beta builds from after every merge. After the beta has been tested for some time and deemed stable we make a community release. Once we agreed on the switch we can update the contributors guide to reflect the new branch name.

@litui
Copy link
Collaborator

litui commented Jun 14, 2023

Given the lack of comprehensive regression testing, should we create a nightly branch where new features go first and then merge nightly to community on a monthly basis?

I know I said "yet" but I do wonder if we could ever hope to achieve a full regression test given how much interoperability is at play in how the deluge is used. Maybe what's needed for now is some common use scenario UAT rather than regression testing. Just thinking aloud here.

@chrisbc
Copy link
Contributor

chrisbc commented Jun 14, 2023

@FWIW - I just ran into some of these concerns with the simplest of changes - see #53. I suggest that we come up with some high-level classifiers so it's easier to see how/where the impacts might be for devs, tester, users, feature merges etc

So start by flagging PRs (and eventually feature branches) by their impacts on each of:
- flash storage
- XML files
- the UI (leds, buttons, encoders, displays) - both static and dynamic changes
- SD file system
- legacy behaviour
- midi messages
- USB protocol(s)
This could be a simple checklist template to be included on each PR?

@PaulFreund
Copy link
Collaborator Author

Regarding regression testing I also don't believe we will ever get to that point but we should strive for it. Everytime somone touches the code it should get better in that area, optimally including test facilities. Once we have clear expectations we can put it in the requirements.

Regarding flagging I will draft another paragraph where we describe things we would like to see done as well but can not mandate such as:

  • Flagging the PR with meta information
  • Adding a list of things that are impacted by the PR in the description similar to a test manual so everyone knows where to look
  • Asking nicely to keep some sense of ownership on the code and try to maintain it and keep up with it's development it in the future

At the same time we can also work a little bit on a PR template, seems like a good idea

@litui litui added the documentation Improvements or additions to documentation label Jun 20, 2023
@PaulFreund PaulFreund marked this pull request as ready for review June 20, 2023 20:16
@PaulFreund PaulFreund changed the title [Draft] Requirements, workflow and governance guidelines and definitions Requirements, workflow and governance guidelines and definitions Jun 20, 2023
GOVERNANCE.md Outdated Show resolved Hide resolved
CommunityFeatures.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CommunityFeatures.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
@PaulFreund PaulFreund marked this pull request as draft June 23, 2023 09:35
@m-m-adams m-m-adams mentioned this pull request Jun 30, 2023
Copy link
Collaborator

@litui litui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull out of draft and we're good to go.

@PaulFreund PaulFreund marked this pull request as ready for review July 2, 2023 20:24
@PaulFreund
Copy link
Collaborator Author

Ready to merge :)

@litui litui merged commit 51d86ad into SynthstromAudible:community Jul 2, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants