[META] Adopt a policy to avoid broken commits on master branch
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 940
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 160
Description
I recognize that the project maintainers do a lot of work on card implementations, refactors, and bug fixes (and thus make a lot of commits), and want their workflow to be as streamlined as possible. However, a broken commit on `master` causes several problems for anyone else trying to work on the codebase:
- syncing your fork at the wrong time can leave you chasing bugs you didn't introduce while trying to test your work (I lost hours to this the other week)
- even if you're aware that `master` is sometimes bugged, and check the commit history for ❌es, GitHub's "sync fork" button only lets you accept *all* commits from `master`; you need to know how to use `git reset` and `git push --force` to work from an older commit even once you've found a good one
- even once you figure all that out, any PRs made while `master` is broken will have their Travis builds fail, meaning no debugging feedback and a harder job for PR reviewers
This could be avoided if those maintainers who currently develop by (1.) pushing directly to `master` and (2.) checking Travis output were to replace one of those steps, either by:
1. instead, creating a branch (on the main repo or your own fork), pushing to that, and creating a PR to run travis on each commit to that branch (approving your own PR when you're done); or
2. running tests locally before pushing.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the two proposed workflows: branch-and-PR validation or running tests locally before pushing to master. Define the project policy, its adoption path, and how it prevents broken commits from reaching master; no specific files or tests are named in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github
- Domain
- ci-cd, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100