All Contributors at the level of a GitHub Organisation
Many communities that host their work on GitHub use the All Contributor specification for
"recognizing contributors to an open-source project in a way that rewards every contribution, not just code", https://allcontributors.org/docs/en/overview
There is a bot that helps a community use this specification in an automated way:
"The bot will automatically pull a user's profile, grab the contribution type emoji, update the project README and then open a Pull Request against the project ✨", https://allcontributors.org/docs/en/tooling
This bot works well, but it only works at the level of a repository, not an organisation. When an organisation has multiple repositories, there is a need to capture all contributors (and their contribution types) at the level of the organisation.
This project will provide a way to fetch all of the .all-contributorsrc files from each repo contained with an organisation. Once fetched, it will combine them together and summarise each contributor and all of their unique contributions.
| Input Name | Input Description | Required? |
|---|---|---|
organisation |
The name of the GitHub organisation to collect all-contributors from | YES |
target_repo |
The name of the repository within the GitHub organisation where the merged all-contributors file will live | YES |
github_token |
A GitHub token with permissions to write to the contents of the target repo and open pull requests. Defaults to: GITHUB_TOKEN. |
no |
target_filepath |
Path to a plain text file containing a list of repos within the organisation to exclude from the merge. Defaults to: .repoignore. |
no |
base_branch |
The name of the branch on the target repo to open pull requests against. Defaults to: main. |
no |
head_branch |
A prefix to prepend to head branches when opening pull requests. Defaults to: merge-all-contributors. |
no |
This Action will need permission to read the contents of a files stored in repositories in an organisation, create a new branch, commit to that branch, and open a Pull Request.
The default permissive settings of GITHUB_TOKEN should provide the relevant permissions.
If instead your repository is using the default restricted settings of GITHUB_TOKEN, you could grant just enough permissions to the Action using a permissions config, such as the one below:
permissions:
contents: write
pull-requests: writeThis project started at the 2025 SSI Collaboration Workshop Hack Day.
Thanks goes to these wonderful people (emoji key):
Jim Madge 💻 🤔 |
Niko Sirmpilatze 🤔 💻 |
Thomas Zwagerman 🤔 💻 📖 |
Rachael Stickland 🤔 💻 📖 |
Sarah Gibson 🤔 💻 🚇 |
Akram Karoune 🤔 💻 |
Sahil Raja 🤔 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!