all-contributors / app Goto Github PK
View Code? Open in Web Editor NEWπ€ A GitHub App to automate acknowledging contributors to your open source projects
Home Page: https://allcontributors.org
License: MIT License
π€ A GitHub App to automate acknowledging contributors to your open source projects
Home Page: https://allcontributors.org
License: MIT License
Is your feature request related to a problem? Please describe.
Stats endpoint should have caching
Describe the solution you'd like
Add caching on api-gateway to only invoke the lambda every hour. See https://www.npmjs.com/package/serverless-api-stage#usage-example
Describe alternatives you've considered
Additional context
This may be chewing through our github quota
Describe the bug
Sentry issue: https://sentry.io/all-contributors/github-bot/issues/881644816/
Affecting: freecodecamp-ibadan/freecodecamp-ibadan#4
For some reason the bot was crashing trying to find the users avatar.
Describe the bug
Since @octokit/[email protected]
, deprecation warnings pops up so it would be ideal to update the relevant code snippet.
To Reproduce
Steps to reproduce the behaviour:
yarn test
or npm test
test/utils/getUserDetails.test.js
, test/index-e2e.test.js
console.warn
outputs.Expected behaviour
This shouldn't be happening
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
console.warn node_modules/@octokit/request/lib/http-error.js:15
`error.code` is deprecated, use `error.status`.
Is your feature request related to a problem? Please describe.
Currently only supports pull-requests again master
Describe the solution you'd like
Should look at default branch, and base pull-reuqest against that branch
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
Maintainers should have write access to all repos, they currently do not have write access to the bot (due to security concerns).
Describe the solution you'd like
Lock down CI to only inject AWS secrets on master pushes.
Lock down AWS credentials to have the minimum credentials required for deployment.
Additional context
We don't pass environment variables (Secrets) to forked builds. Which is how we can currently have users fork the repo, put up pull requests and run the test builds.
Is your feature request related to a problem? Please describe.
The bot's PR currently overwrites previous contributions (does not add to them)
Describe the solution you'd like
When a user already exists merge the contributions, instead of replacing them.
Describe alternatives you've considered
Additional context
#9
Is your feature request related to a problem? Please describe.
Public visibility into up time
Describe the solution you'd like
Add status uptime, something like https://stats.uptimerobot.com/Dq46zf6PY
This can also be added to our marketplace listing
Describe alternatives you've considered
Additional context
@user
is far more reliable, both for the UX seeing which user your adding and the bot, determining which user to add. Let's update the documentation so our preferred method is add @user
Describe the bug
The PR to add a contributor has broken the table. See https://github.com/all-contributors/all-contributors-bot/pull/21/files#diff-04c6e90faac2675aa89e2176d2eec7d8R39 for an example.
Expected behavior
Should correctly format table
Is your feature request related to a problem? Please describe.
It would be great to have a way to bulk add users in a single request.
Describe the solution you'd like
Implementing per sentence parsing instead of per-message will allow us to do this. It will also help the NLP to be more effective in determining intentions.
Describe alternatives you've considered
Additional context
Case of a user adding lots of users: zeroDevs/FullstackTrends_Challenge-13#161
Broken case on message too big:
https://github.com/zeroDevs/coding_challenge-13/issues/132#issuecomment-457773736
Case of not working:
See freecodecamp-ibadan/freecodecamp-ibadan#4
@all-contributors please add @stevoo24 for code,content
Is your feature request related to a problem? Please describe.
Promote the new bot
Describe the solution you'd like
Write a blog article about the new bot
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
If users start depending on the bot, they want it to work. Let's ensure we know when it's not.
Describe the solution you'd like
Cloud watch alarms on error rate increases etc.
Measuring timing would be important too, too fast and something is wrong, same as too slow.
Describe alternatives you've considered
Additional context
Something like https://github.com/ACloudGuru/serverless-plugin-aws-alerts could help, instead of pure cloud formation
Is your feature request related to a problem? Please describe.
On the first install, let's remove the need to create a README.md
file as documented in the happy path install
Describe the solution you'd like
Auto create the file
May need to use the https://octokit.github.io/rest.js/#api-Repos-createFile API in the Repository
class
Describe the bug
In some cases seeing two responses from the bot:
To Reproduce
Steps to reproduce the behavior:
@all-contributors please add @tbenning for design
Expected behavior
One response per comment
Screenshots
See above
Additional context
The second error message is relating to: https://sentry.io/all-contributors/github-bot/issues/844367677/. I.e. the method is being invoked twice, and the second time fails on creating the branch. This is being fixed as part of #48. In this case tho it will still result in 2 comments to the users.
Looking at deliveries from GitHub there are 'service timeouts' at the time (with payload relating to this message), causing the double delivery.
Is your feature request related to a problem? Please describe.
A feature
Describe the solution you'd like
The bot should be aware of the commit convention a repo, it was installed on, uses in order to write valid commits and valid PRs.
Describe alternatives you've considered
Allowing repo maintainers to set/specify the commit convention whether it's via a CZ config or via a commitConvention
(or commitStyle
) field in the .all-contributorsrc
file.
Additional context
Here's an example of PR using the angular one on a repo set to ESLint with commit linters.
Describe the solution you'd like
We should document installation and usage on the website!
https://github.com/all-contributors/website
Is your feature request related to a problem? Please describe.
It would be good to have insight into how users are using the bot
Describe the solution you'd like
Some analytic tracking solution
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
When a user manually adjusts the all-contributors file its possible it could be broken.
Describe the solution you'd like
Add a CI check which says (this PR is all contributors good to go)
Describe alternatives you've considered
Additional context
See #102
Is your feature request related to a problem? Please describe.
@AllContributorsBot please add jakebolam for docs, infra and code
results in the additions of infra and code (not doc as well)
Describe the solution you'd like
The bot should be able to understand plurals. And add doc as well.
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
AllContributorsBot requires some features not available in the current version of octokit/rest
in the latest version of probot (7.4.0)
Error: Cannot read property 'getRef' of undefined")
Describe the solution you'd like
We need to bump the version of the octokit/rest api in probot
Describe alternatives you've considered
Cloning the repo locally and using git directly (instead of via github).
Additional context
Looks like the probot team is on it: probot/probot#774
Describe the bug
Bot currently crashes with `We had trouble processing your request. Please try again later. When the contributor branch already exists
To Reproduce
Steps to reproduce the behavior:
@AllContributorsBot please add jakebolam for code, doc and infra
@AllContributorsBotDev please add jakebolam for code, doc and infra
Expected behavior
Should return and say a branch/PR is already open.
Screenshots
Additional context
After we fix this bug, it is likely we will expose the bug branch exist, but PR is not open. We should be wary of this case too.
sentry error of one such case: Error: Reference already exists
https://sentry.io/all-contributors/github-bot/issues/844367677/?query=is%3Aunresolved
Is your feature request related to a problem? Please describe.
It's difficult to gain visibility into the instance running in production.
Describe the solution you'd like
Add APM monitoring to have visibility into production. (CloudWatch is not enough)
Describe alternatives you've considered
NewRelic etc
Additional context
I just want to see this in action! This is sooooo cool!
@AllContributorBot please add kentcdodds for infrastructure
Is your feature request related to a problem? Please describe.
Bugss
Describe the solution you'd like
Implement typescript to reduce type related bugs
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
When the configuration file datastructure is incorrect,the bot fails in weird and wonderful ways. e.g.
{
"projectName": "coding_challenge-13",
"projectOwner": "zeroDevs",
"repoType": "github",
"repoHost": "https://github.com",
"files": [
"README.md"
],
"imageSize": 100,
"commit": true,
"contributors": [
{
"login": "The24thDS",
"name": "David Sima",
"avatar_url": "https://avatars0.githubusercontent.com/u/26633429?v=4",
"profile": "https://github.com/The24thDS",
"contributions": [
"code",
"bug",
"review"
]
},
{
"login": "mikeattara",
"name": "Mike Perry Y Attara",
"avatar_url": "https://avatars1.githubusercontent.com/u/31483629?v=4",
"profile": "https://mikeattara.com",
"contributions": [
"ideas",
"code",
"review",
"test"
]
},
{
"login": "AkinAguda",
"name": "Akinwunmi Aguda",
"avatar_url": "https://avatars0.githubusercontent.com/u/39712415?v=4",
"profile": "https://github.com/AkinAguda",
"contributions": [
"bug"
]
},
{
"login": "jakebolam",
"name": "Jake Bolam",
"avatar_url": "https://avatars2.githubusercontent.com/u/3534236?v=4",
"profile": "https://jakebolam.com",
"contributions": [
"question"
]
},
{
"login": "aneagoie",
"name": "Andrei Neagoie",
"avatar_url": "https://avatars3.githubusercontent.com/u/10776230?v=4",
"profile": "https://github.com/aneagoie",
"contributions": [
"bug",
"code",
"ideas",
"review"
]
},
{
"login": "MattCSmith",
"name": "Matt Smith",
"avatar_url": "https://avatars3.githubusercontent.com/u/6190356?v=4",
"profile": "https://github.com/MattCSmith",
"contributions": [
"question",
"bug",
"code",
"ideas",
"review"
]
},
{
"contributions": [
"ideas"
]
},
]
}
Technically valid JSON but the schema is busted.
Describe the solution you'd like
Provide great error messages, so users no whats wrong with the schema.
Even better: Auto fix it!
Additional context
See: https://sentry.io/all-contributors/github-bot/issues/859146506/?query=is%3Aunresolved
Also issues: zeroDevs/FullstackTrends_Challenge-13#182
Investigate and fix sentry for lambda probot/adapter-aws-lambda-serverless#11
1.36.3
to 1.37.0
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
serverless is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 114 commits.
2cf96e0
Merge pull request #5803 from serverless/release-1-37
1b8252d
releasing v1.37.0
3b9957f
Merge pull request #5794 from serverless/fix-tests-debug
c551abf
fixed cli tests when running in debug mode
4a64f4a
Merge pull request #5793 from serverless/fix-yml-race-condition
5896f0c
fix race condition when loading config file
04a2a65
Merge pull request #5788 from serverless/secrets-via-ssm
cefe6f0
Add aws secrets mgr to TOC of aws vars
74a1260
Update docs/providers/aws/guide/variables.md
2e49692
Update docs/providers/aws/guide/variables.md
ff82197
Document how to use Secrets Manager
61d3af3
Merge pull request #5785 from pchynoweth/master
4c935d1
Fixed up linting issues
9a25ade
Added unit tests
73d95c2
Fixed linting issue
There are 114 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Is your feature request related to a problem? Please describe.
When you type @all-contributors please add jakebolam for code
and the repository is not setup. The bot responds and says use the CLI tool to setup the repo.
tldr: Remove project dependence on cli tool!
Describe the solution you'd like
It would be good if the bot could open an initial PR in these cases (or direct the user to say some other specific words for the bot to put up an init PR).
e.g.
@AllContributorsBot setup project
-> Puts up initial pull request for README.md
and .all-contributorsrc
Describe alternatives you've considered
Keeping setup restricted to using the cli tool
Additional context
Describe the solution you'd like
List of common gotchas (possibly on the website)
Describe the solution you'd like
Take advantage of lambda memory freezing to lower start times when under load
Additional context
https://medium.com/@tjholowaychuk/aws-lambda-lifecycle-and-in-memory-caching-c9cd0844e072
This previous behaviour actually caused #91 (as it was miss-used).
Is your feature request related to a problem? Please describe.
Bot responds to other apparent bots
Describe the solution you'd like
Should not respond to bots
Additional context
See example here callstack/react-native-paper#827
Describe the bug
Users recently added to the contributor table:
https://github.com/all-contributors/all-contributors-bot#contributors
Have incorrect profile URLs: For example, Maximilian Berkmann links to https://github.com/all-contributors/all-contributors-bot/blob/master/maxcubing.wordpress.com
Expected behaviour
URLs are correct
Additional context
Not sure if this is in the CLI or the bot.
This bot is so awesome!!! π π π π€
We often have more than one new contributor per day, so:
We are interested in running this in a batch each week to reduce PR churn and maintenance burden.
If this is already possible, apologies, and could you point us at the docs?
Otherwise we'd love to install and use this app if such a feature were eventually added. Thanks a million!
Is your feature request related to a problem? Please describe.
Sometimes when asking the bot to add contributions it won't be able to determine the types of contributions, this does not stop the bot opening a PR with an empty array of contributions see https://github.com/all-contributors/all-contributors-bot/pull/29/files#diff-c47fb5a6d4fde805d2706fc934e8d354R38
Describe the solution you'd like
When a user is found, but the bot cannot determine contributions, tell the user. A PR should not be opened.
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
Shipping some changes straight to production is risky
Describe the solution you'd like
A sandbox environment we can run sanities against before heading to production
Describe alternatives you've considered
Keeping as is
Additional context
This should stay as part of the master branch, and if possible the sanities should be automated
Is your feature request related to a problem? Please describe.
Local development experience is currently confusing with probot and serverless runners.
Describe the solution you'd like
Just use serverless:
Is your feature request related to a problem? Please describe.
When multiple contributors are being added, a PR could become stale (i.e not up to date with master/conflicts with the master branch). We should have a way to auto resolve this.
Describe the solution you'd like
@all-contributors please refresh this PR
Describe alternatives you've considered
Alternatively, we could watch for merge
event son pull requests opened by the bot, and refresh the PR:
Additional context
Describe the bug
When I click on the π» on the emoji key it uses what appears to be an invalid URL: https://github.com/all-contribtuors/bot/.
Which in fact is caused by the typo in all-contributors
.
To Reproduce
Click on any π»,
Expected behaviour
The URL should be working.
Screenshots
Not needed
Additional context
This doesn't seem to be happening on the CLI and I couldn't found thus far where the typo was on both repos (using master up-to-date).
Describe the bug
Bot links to wrong pull request when updating
To Reproduce
Steps to reproduce the behaviour:
@all-contributors please add @tbenning for design
, leave the PR open@all-contributors please add @tbenning for design
, see that comment links to jakebolam PR, (tbenning PR was updated tho)Expected behavior
Links to the correct pull request
Additional Context
See comment in sandbox: all-contributors-sandbox/test-all-contributors#1 (comment)
(Thanks so much for building this!)
On first use with an existing contributors list (generated via the command-line tool), the bot sets contributorsPerLine
to 7 in our config file. This is undesirable as the 7th column in each row is squished smaller than the others:
Is your feature request related to a problem? Please describe.
@allcontributors add @The24thDS for code
without a dash doesn't work
Describe the solution you'd like
To see the non dash version work!
Describe the solution you'd like
It would be great to support full words (like infrastructure, documentation etc) when requesting adds
Describe alternatives you've considered
Additional context
Describe the bug
The bot incorrectly respects the config file for options it should know.
Click the π»icon on a contributor in the Contributors section
See that it incorrectly links to an invalid URL: https://github.com/all-contribtuors/bot/commits?author=jakebolam
This URL is determined based on the config in .all-contributorsrc
which is miss-configured.
The bot should ignore the following config options (when running in bot mode):
"projectName": "bot",
"projectOwner": "all-contribtuors",
"repoType": "github",
"repoHost": "https://github.com",
Expected behavior
We know the repo and server, let's ignore the config and go with what we know
Describe the bug
@allcontributors[bot] add allcontributors[bot] for doc
Expected behavior
To add a PR to add the user with brackets
Additional context
From sentry:
HttpError: refs/heads/all-contributors/add-allcontributors[bot] is not a valid ref name.
Looks like its trying to create the branch/ref with invalid semantics. The name for the branch will need to be escaped.
Is your feature request related to a problem? Please describe.
Messages for the bot should only be processed if it starts with @AllContributorsBot.
Currently, the bot will respond to names such as @AllContributorsBotDev, and anywher in the message
Describe the solution you'd like
Just respond to bot name, if the entire message is directed at said bot.
Describe alternatives you've considered
Additional context
5.9.1
to 5.10.0
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
all-contributors-cli is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.
The new version differs by 1 commits.
292d400
feat(contribution-type): added maintenance type (#142)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.