🧪 What I built
A GitHub Action that will help maintainers keep track of new Pull Requests by giving them detailed information if someone might be trying to push similar or duplicate changes.
🏆 Category Submission:
Maintainers Must-Have: Make the lives of Open Source maintainers easier.
🔗 App Link
https://github.com/marketplace/actions/pull-request-tracker
🖼 Screenshots
💬 Description
Pull Request Tracker
is a GitHub Action to easily track similar or duplicated PRs. It runs automatically whenever someone opens a new PR and scans all open PRs for different patterns. The output is a detailed comment with useful information including diff links in case of detected conflicts.
🔗 Link to Source Code
https://github.com/mateusabelli/pr-tracker
📜 Permissive License
Pull Request Tracker
is free and open-source software licensed under the MIT License.
👨💻 Background
What made you decide to build this particular app? What inspired you?
My initial idea was to create a tool that could identify if someone is opening a PR that makes the same or similar changes of other contributors with open PRs. To achieve this, I planned three major modules, one for checking pulls, checking conflicts and one for checking hunks.
⚙ How I built it
How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?
I created this project as a composite action, at the beginning I wanted to try making a JavaScript action but I've always felt like the features were easily executed from the command line or using the GitHub CLI gh
. So that's when decided to go with a composite action running a few shell scripts.
I didn't know how to use shell before, but it felt like a very simple and flexible scripting language, everything that I attempted to do with it, kind of worked, specially integrating the usage of CLI tools, using grep and even some JS code with node.
I learned about GitHub Actions, Shell scripting, a basic usage of GraphQL, the awesome GitHub API, the powerful GitHub CLI gh
, and I also wrote my best README so far.
🔎 Additional Resources/Info
These videos helped understand GitHub Actions:
Thanks for reading. Have a nice day! |