magefree / magefree/mage

[META] Adopt a policy to avoid broken commits on master branch

Open
#10,765 3 comments 0 reactions 0 assignees View on GitHub
Developers Discussion
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.