My life as an open-source maintainer:
Before - Tiring & Stressful
Second - Exciting & Fun
The difference?
Using bots at work.
In this article, I will share 3 bots that work for us 24x7, making our maintainer’s life easy.
These bots will automate the common repetitive & manual work of an Open Source project maintainer, so that they can focus on the project.
Let’s go! 🚀
Quick Ad
Hey 👋, If you are looking to network with open-source contributors and maintainers, then join our discord. See you there!
TL;DR
Bot #1: AllContributors
Recognizing and thanking contributors to your Open Source project is non-negotiable. It’s easy to miss non-code contributions as they get less visibility than code contributions.
Before AllContributors we had no way of publicly thanking contributors, other than simply commenting ‘thanks’ in the PR. This meant that most contributions went unnoticed by the larger community.
AllContributors solves this for maintainers.
It automates the process of recognizing new contributors, by adding them to the project's README file, with mention of their contributions.
This way you acknowledge the work of all kinds of contributions, developers, designers, documentation writers, etc
How cool is that?
After a PR is merged, I simply comment @allcontributors-bot please add @user for [x]
, where x can be code, docs, etc.
Then the bot takes over from there, putting up a new PR to add the user’s picture and info in the Contributors section of our README.
Use this bot to improve contributor visibility. It’s a one-time investment that will pay high dividends for years. Follow this guide for the exact steps.
Bot #2: Kodiak
Outdated project dependencies lead to security, stability, and performance-related issues, which is why dependency updates must be patched promptly.
At Flipt, we’ve used Dependabot since it was launched to keep our dependencies up to date. Dependabot is great about opening PRs for updating dependencies. The problem however is that it opens too many for us to keep track of and merge manually.
Kodiak automates branch updates and merges of your project. It automatically merges pull requests once a set of criteria are met.
This reduces the chance of any regression caused by outdated dependency in the project.
Kodiak handles the busy work of updating PRs that have become out of date from ‘main’ and merges any PRs that were created by Dependabot and have all green checks ✅. This means that we as maintainers get our time back to focus on reviewing PRs from humans, not robots 🤖
You can add Kodiak to your project in minutes. And it will save hours of maintainers' time and effort.
Bot #3: CodeCov
The better your project’s code quality, the more high-quality contributions you’ll receive from the contributors. Which is why it’s important to monitor the project’s code coverage.
Before integrating CodeCov, we would need to:
- Checkout each PR locally
- Run the test suite with coverage enabled
- Manually comment on the PR where coverage was missing. This was a huge pain and a waste of time.
Now, CodeCov gives us actionable insights into test coverage and integrates well with our GitHub project.
The best part is, that once you integrate it in your CI pipeline, it automatically checks code coverage with each build.
It also highlights areas of your project that lack test coverage. So that you can prioritize which tests need to be written first.
Now, CodeCov handles reporting on our PRs where coverage is missing, notifying contributors (and ourselves) where we might be lacking tests.
It also adds a GitHub check that we can make required, to ensure that a changeset is increasing test coverage, not decreasing it.
Codecov has a quick start guide to help you in getting started.
Wrapping Up
That’s it!
Hope that these bots will supercharge your maintainer productivity.
Join our discord to network with other maintainers & developers.
We have an awesome community there 💗
If you found this valuable, follow me for more open source related articles 🙂
Top comments (7)
We are using Dependabot and CodeCov at Quickwit, and we're happy with it. We might use AllContributors if the number of contributors becomes too high!
Will definitely check Kodiak, thanks for sharing that!
Thanks @fmassot ! Quickwit looks really cool! I wonder if we could do an integration there. For example sending audit events from Flipt to Quickwit for searching them later
Sending events into Quickwit makes total sense, I suspect this kind of features is for the long term on your side but it will work :)
Super actionable for oss maintainers. Thanks for sharing!
Nice post. Keep going!
I'm a bit confused codecov handles testing or just runs premade tests when there is a pr?
Hey sorry,
Codecove handles calculating and annotating code to show where the coverage is/isnt. You still have to write the tests yourself in your repository and send the results to them.
docs.codecov.com/docs/quick-start
I'm sure it can do a bunch of other things we have yet to dive into though
Some comments have been hidden by the post's author - find out more