Code Monkey home page Code Monkey logo

reporobot's Introduction

Hello, there!

Link exchange with friends?:


Mu-An Chiou

reporobot's People

Contributors

alrra avatar gotocode avatar jlord avatar mrmrs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

reporobot's Issues

Reporobot doesn't appear to be merging PRs on Patchwork

Hi,

I wasn't sure whether this issue should go on Reporobot, or on the Patchwork repo - it doesn't look like Reporobot is merging all PRs that go through to Patchwork at the moment. Looking through the list of PRs on that repo, there are a number that have been open for some time, but that have not been commented on by Reporobot (suggesting that there are no issues with the PR.) It does, however, look like merges are still taking place some of the time (one within the last hour in fact), so it doesn't appear to be a blanket stoppage.

Here are a couple of sample PRs that have been opened within the last 24 hours, but not commented on or merged:
jlord/patchwork#18888
jlord/patchwork#18878
jlord/patchwork#18877

It looks as though the oldest un-merged, un-commented PR dates back to 25th Jan 2017.

Not writing to contributors.json

I noticed that @reporobot was no longer writing to contributors.json. Without checking, I decided to check a hunch that the GitHub API wasn't letting it write because the file was now too large (over 1MB). I created an archive and perhaps someone will try and complete it soon and we'll see what happens...otherwise πŸ”œ I'll go digging around for what's up.

GitHub.com Repository Invite Breakage

The new Repository Invites change to GitHub.com breaks @reporobot where it gets added as a collaborate then draws art to the users repo.

This potentially could be fixed by using the current system of parsing the username from the email subject and then going to the predicable invite site, parsing that body for the ID and the accept button. Make a request using All the Right Things.

Also if there was a setting on GitHub to auto accept invites that would be great πŸ‘

πŸ”— jlord/git-it-electron#137 + jlord/patchwork#11760

What happened

See current open pull requests lists on @jlord/patchwork.

  • Forks are getting thousands of commits along with them..
  • @reporobot isn't responding the way he should to some.
  • Check that he is handling deleted files correctly (not counting them in total)

[Tracking Issue] Tests

A tracking issue for building a suite of tests for @reporobot 🐱 πŸŽ‡

Currently only I can run these tests as I have the tokens for @reporobot's account 😁

Test Scenarios

  • Correct Pull Request
  • Incorrect PR: Wrong branch name #22
  • Incorrect PR: File is empty
  • Incorrect PR: Wrong Filename
  • Incorrect PR: Too many files #23

Other bits

  • scripts
    • run suite
    • run each test

Collect some metrics

  • Unmerged PR
  • Unmerge PR type
  • If unmerged PR type is too many files, how many files (a range)

Have @reporobot respond to incorrectly named branches

Because sometimes these are people doing Git-it, but they're not realizing (I guess) that their branch name is wrong so @reporobot isn't looking at their stuff at all.

He should leave a comment saying something like "Hey! Thanks for the PR, the branch name isn't ... so I'm not checking it for Git-it. If you meant it to be...."

Add total users count

Add the total number of users that have completed it in the template, cause that would be fun!

Check closed PR for PR verify

PRs are already closed by RR by the time git-it goes to check that the user submitted one, so check the closed PRs to verify.

Reporobot possibly not checking for itself as a collaborator

Hi jlord.

I'm a big fan of git-it/nodeschool. I recently passed its_a_small_world, but I managed to pass it with the wrong collaborator (I had typoed and put Reprobot as a collaborator instead - https://github.com/ReproBot). I removed Reprobot and ran the verifier again by mistake (I'm not the slickest in terminal), this time without any collaborator on my patchwork repo, yet still passed.

I noticed that in reprobot/collaborate.js, we are checking permissions.push against the username supplied by its_a_small_world/verify.js:

 var repo = github.getRepo(username, 'patchwork')
 var collab = false

 repo.show(function(err, repo) {
 if (err) return callback(err)

var permissions = repo.permissions
if (permissions.push) {
  collab = true
  callback(null, collab)
} else {
  collab = false
  callback(null, collab)
}
})

Is it possible that the username from its_a_small_world/verify.js:

exec('git config user.username', function(err, stdout, stdrr) {
var username = stdout.trim()
collaborating(username)
})

will always result in collab = true, as the repo we are checking is a fork (and therefore I assume I have full permissions)?

If this is the case, then it might be hard to catch if you have made a mistake when completing the exercise. If you are a bit of a crappy typist (like me), you will not trigger reporobot's confirmation email, but still pass and possibly give somebody else push permission to your repo (and maybe end up a git pull away from being totally pwned 😱).

Is there a way we can check for repo.collaborators instead? I do not know enough about the output of git.show to tell.

Anyway, sorry about the lengthy message - let me know if I'm barking up the wrong tree.

All the best,

Mike :)

Email copy in log

I keep forgetting to go in and shorten it (right now the server log spits out the whole thing). Hopefully this reminds me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.