Skip to main content


One trick to make your life much better as a maintainer and help contributors

Have a Makefile directive to run everything that runs on CI

`make x` is all it should take to verify the changes pass automated tests

Linter, formatter, sorter, unit tests, etc

If tooling is needed then add a `make setup` directive that takes care of installing it

#offlinefirst #ci #development #git #GitHub #GitLab #Codeberg #dx #FreeSoftware #FLOSS #developerExperience #developer

in reply to Jeffrey Bouter

Avoid multiple "fixup" commits to fix CI issues one after the other.

=

Reduce email notifications
Reduced "please rebase"
Less friction for contributors
Less wasted time

This entry was edited (2 months ago)
in reply to Sonny

a modern alternative to `make`: https://github.com/casey/just ;)
in reply to Philn

no strong opinion as long as the project has a clear `do this to get started'

But make is everywhere 🤷

This entry was edited (2 months ago)
in reply to Sonny

almost, iirc it's not in Silverblue ;)

Anyway yes, I understand your point :)

in reply to Sonny

yep, we have a "npm run test-all" script for this :-) totally agree this is a time-saver.
+ "npm run fix-all" for all the linter autofixable issues.
in reply to Julien W.

@julienw
> Avoid multiple "fixup" commits to fix CI issues one after the other.

> Reduced "please rebase"

An other way to avoid that - just merge the PR as-is (event if the CI fails) - and then make a commit to fix things up

If you're a maintainer and your goal is to gain contributors, this is a much better technique IMHO

Chances are, you were the one who set up the CI, so you'll be much faster than a first-time contributor

This entry was edited (2 months ago)
in reply to Dimitri Merejkowsky

Squash merge is the way to go if you're unhappy with the commits of a branch 👍

But fixing the CI isn't necessarily trivial.

I do resort to doing small fixes before merging contributions, specially for first time contributors.

This entry was edited (2 months ago)
in reply to Sonny

yeah I did that on a project like two years ago and still, devs would push code that couldn't pass even basic lint for chosen standard, that's so frustrating 😤
@nicosomb