wip / app Goto Github PK
View Code? Open in Web Editor NEWThe WIP GitHub App
Home Page: https://wip.vercel.app/
License: Apache License 2.0
The WIP GitHub App
Home Page: https://wip.vercel.app/
License: Apache License 2.0
The last deploy broke somethingโข๏ธ
TypeError: fn.call is not a function
at /home/nowuser/src/node_modules/express-async-errors/index.js:17:20
at Layer.handle [as handle_request] (/home/nowuser/src/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/nowuser/src/node_modules/express/lib/router/index.js:317:13)
at /home/nowuser/src/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/nowuser/src/node_modules/express/lib/router/index.js:335:12)
at next (/home/nowuser/src/node_modules/express/lib/router/index.js:275:10)
at /home/nowuser/src/node_modules/probot/lib/middleware/logging.js:33:5
at /home/nowuser/src/node_modules/express-async-errors/index.js:17:20
at Layer.handle [as handle_request] (/home/nowuser/src/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/nowuser/src/node_modules/express/lib/router/index.js:317:13)
at /home/nowuser/src/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/nowuser/src/node_modules/express/lib/router/index.js:335:12)
at next (/home/nowuser/src/node_modules/express/lib/router/index.js:275:10)
at expressInit (/home/nowuser/src/node_modules/express/lib/middleware/init.js:40:5)
at /home/nowuser/src/node_modules/express-async-errors/index.js:17:20
at Layer.handle [as handle_request] (/home/nowuser/src/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/nowuser/src/node_modules/express/lib/router/index.js:317:13)
at /home/nowuser/src/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/nowuser/src/node_modules/express/lib/router/index.js:335:12)
at next (/home/nowuser/src/node_modules/express/lib/router/index.js:275:10)
at query (/home/nowuser/src/node_modules/express/lib/middleware/query.js:45:5)
at /home/nowuser/src/node_modules/express-async-errors/index.js:17:20
at Layer.handle [as handle_request] (/home/nowuser/src/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/nowuser/src/node_modules/express/lib/router/index.js:317:13)
at /home/nowuser/src/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/nowuser/src/node_modules/express/lib/router/index.js:335:12)
at next (/home/nowuser/src/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/home/nowuser/src/node_modules/express/lib/router/index.js:174:3)
at Function.handle (/home/nowuser/src/node_modules/express/lib/application.js:174:10)
at Server.app (/home/nowuser/src/node_modules/express/lib/express.js:39:9)
at emitTwo (events.js:126:13)
at Server.emit (events.js:214:7)
at parserOnIncoming (_http_server.js:602:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:116:23)
I'm positive that it was unrelated to the changes. But it looks as if downgrading probot to v4 fixes the problem, I tested it on Glitch. I'll do that for now
At my work we make use of WIP and also the HOLD tag. I'm thinking of extending wip-bot to also filter if it detects HOLD in the PR title. Is this something that would be welcome?
The current gif can be found at assets/wip.gif. Itโs great, but it still shows the old avatar. And the new avatar is way too cute to not show to the world at every opportunity.
Also I donโt know much about GIFs and compression, Iโd really appreciate if someone could help by creating one that ideally has less fragments than the current while at the same time is smaller in file size :)
Bonus: Create screenshots (*.png files) with explanations on them while at it ๐๐
The current avatar of the WIP app was meant as a placeholder. Now that itโs quite popular it would be nice if we could create a proper logo for it.
I am not good at this :D But I thought maybe we could manage to make some kind of combination of a
๐ค robot head and the letters WIP that create a face
But hey Iโm open to suggestions.
Iโll give full credit for the logo in the repositoryโs README and would also donate $50 in your honour to Rails Girls Summer of Code or similar initiatives.
See https://probot.github.io/docs/testing/ and https://github.com/hoodiehq/first-timers-bot for reference.
When creating a new pull request, the WIP bot sets a success status right away. I think it would be better if it would set no status at all, unless it has been set to error before
I have a project that I would like to be able set/unset a label when a PR is a work in progress (as well as using the error/success status). Is that doable without requiring more extensive permissions for the WIP bot?
We're changing some of the terminology in Probot in probot/probot#210. If you add the probot-app
topic to this repository, it will show up in the list of probot apps.
I started using WIP on a private github repository and it was working as expected.
Today however, it's not working anymore. It's affecting all my private repositories that had the app installed.
I'm using it by adding "wip" to pull request title. It goes to "Pending โ work in progress โ do not merge!"
but whenever removing it does not passes the check.
Is anyone experiencing problems as well?
Would you accept a pull request adding support for labels?
What I'm thinking is, in general, this plugin could read a config file and potentially look at a custom title regex (although that's not part of this issue) and/or an array of labels, and if any of them match, mark the pull request as WIP.
In the gif included in your readme are two tags visible between the pull request status and the username. AFAICT these are not part of vanilla GitHub. Which GitHub app/browser extension/integration is providing these icons/tags?
Hello,
We're soon migrating from Github SAAS to Github Entreprise.
Is WIP app supported on Gtihub Entreprise ?
Thank you :-)
Is there some way in a later commit to tell it that it's no longer a WIP?
Iโm in the process of submitting the WIP app to the Marketplace. The new version will support configuration and Iโd like to invite yโall to discuss what the configuration should look like. Please share your workflows and how WIP would ideally work to seamlessly integrate with it :)
Right now I see two things that should be configurable
The configuration will be done via a .github/wip.yml
file in your repository. See https://github.com/probot/probot-config for how configuration works with Probot and stale app usage for an example
This is my base of discussion, please comment below if it that works for you or if you have any questions/suggestions
# Configuration for WIP - https://github.com/wip/app
# List of terms that will make WIP set a pull request status to "pending".
# All terms are work in case insensitive and will be matched as whole words,
# e.g. "WIP" will match "wip: refactoring" but not "Add swipe feature"
terms:
- WIP
- Work in progress
- Do not merge
# List of places that WIP will check for the terms defined above
# Possible values are
# - title (pull request title)
# - labels (label names)
# - commit_subjects (commit subjects)
check:
- title
Iโm not happy with the term "check". Maybe someone has a better idea?
I see a lot of issues using wip keywords wrapped in brackets (e.g "[WIP]"). However, the current code to check whether the issue is a work in progress it does not support that pattern.
app/lib/handle-pull-request-change.js
Lines 47 to 49 in 88f6c67
Notice the leading \b
. It doesn't treat brackets as word boundaries so it fails to catch issues titled "[WIP] blah".
Documentation says that the app checks the following
Is there a way to configure it should block 1), but not for 2) & 3)?
Hello! The past few days I've had some issues (Several isolated PRs on one repo) where either WIP is stuck on "Expected โ Waiting for status to be reported" or falsely flagged as WIP.
I've attempted to add/remove "WIP" in the PRs name without luck. I've also ensured the target phrases are not in the PR conversations or in any commit title. Yet I am unable to remove the flag.
My final attempt was to remove WIP from the repo in question via the configuration page, however the flag is still present on that repo. Unfortunately the repo is private and so I cannot share it.
Any ideas on how I can debug the issue?
Thanks for your time & for the bot!
Have you thought about submitting your bot to the GitHub Marketplace?
Biggest Requirement for that is:
GitHub Apps should have a minimum of 250 installations.
(here are the other requirements)
Thanks for this very helpful bot !!
Is it possible to set it so that only the last commit's message is taken into account? E.g. a merge request with many commit includes "wip" in their message, the last one being "all good" would pass. Instead of having to go back and modify all the history...
Thanks !
Somehow a new WIP (beta) was added and the original WIP stopped working randomly with "Expected โ Waiting for status to be reported"
Hello there,
Would it be possible to detect if a commit contains the word WIPย ?
Context : I use OhMyZsh Git plugin wich easily create a commit named --wip-- [skip ci]
My PR is blocked by WIP even after I remove "WIP" in the title.
Hi
We think as of today all our PRs are set with the status as shown in the title.
Any ideas why it might be this?
Our organisation is called VQComms
Thanks
the repository name is sensitive, but we can still log the fact that we received a request from an account / organization and the status we set
A feature request. I'm often involved in workflows where responses to code review comments result in fixup or squash commits being added to the PR. These are subsequently used with an --autosquash
rebase flag and auto-squashed. Or fixed up.
(I assume you're familiar with this, but if not, a nice introduction can be had at George Brocklehurst's Auto-squashing Git Commits.)
The presence of these commits strongly indicates that work is still in progress. Could wip-bot block them as well?
We're using the bot in our organization. A contributor raised the issue that marking the status as failed might be too draconian. We've many builds across many operating system and each of those reports a status. When a PR is marked as "not ready" (i.e. with a red X) folks are alarmed trying to find a build break. For these scenarios it seems better if the PR status could be set to yellow, i.e. in-progress.
Could this be a configuration setting?
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.
๐ Claim this issue: @aniketroy
๐ Update the file index.js in the wip-bot
repository (press the little pen Icon) and edit the line as shown below.
Instead of calling robot.on
3 times with the same handler, an array of the webhooks can be passed in since probot/probot#212
@@ -3,7 +3,9 @@ module.exports = probotPlugin
const handlePullRequestChange = require('./lib/handle-pull-request-change')
function probotPlugin (robot) {
- robot.on('pull_request.opened', handlePullRequestChange.bind(null, robot))
- robot.on('pull_request.edited', handlePullRequestChange.bind(null, robot))
- robot.on('pull_request.synchronize', handlePullRequestChange.bind(null, robot))
+ robot.on([
+ 'pull_request.opened',
+ 'pull_request.edited',
+ 'pull_request.synchronize'
+ ], handlePullRequestChange.bind(null, robot))
}
Let us know if you have any questions :)
๐พ Commit your changes
๐ Start a Pull Request. There are two ways how you can start a pull request:
If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.
๐ Done Ask in comments for a review :)
Leave a comment below!
This issue was created by First-Timers-Bot.
Instead of setting a status directly, the new version of WIP will use the new checks API with custom actions. Check runs have two benefits
Unfortunately the custom actions are only visible to users with write access to the repository. In order to allow an author of a pull request without write access to the repository to override the status weโd need to manually explain that they need to add an HTML comment to the pull request body which looks something like this
@wip ready for review
Checks will also require to add read/write permission to check runs
Branch | Build failing ๐จ |
---|---|
Dependency | semantic-release |
Current Version | 15.9.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
semantic-release 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 3 commits.
b2d82c2
docs: specify for each step if one or more plugins are required/allowed
31ec1eb
docs: fix configuration doc syntax
d8c84a0
fix: clarify EPLUGINCONF
error message
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 ๐ด
Hi @gr2m, thanks for the bot.
I noticed from 0a30fc9 that you're no longer publishing this to npm. I was wondering if you would reconsider this stance.
I'm currently in the process of curating a suite of probot apps to use for my company. My aim is that we would have a single probot installation runs multiple apps as per https://probot.github.io/docs/deployment/#combining-apps. This shall help us be in control of our own availability and reduce the complexity of having to admin multiple Github Apps - instead we have a single app that deals with multiple functional aspects.
If you were to continue publishing the wip bot on npm we would be able to self-host and keep up to date with any changes made.
Hello my name is erick youssif I am a graphic designer, I would like to make a new logo for your app without any cost, I think you will like a new image for you
follow up for #97 (comment)
Currently the app does not set a status on existing pull requests. But I think it should. Whatโs important to consider is to throttle the requests, see https://developer.github.com/v3/guides/best-practices-for-integrators/
I've noticed that when an existing Pull Request is updated with new commits, this app doesn't set a commit status until the title is changed (or at least re-saved with the same text). For example, my initial commit here has a correctly-set status but the current head doesn't have any status from wip-bot
.
The tag name should be configurable. Perhaps via a YML file?
I'm a graphic designer and a developer. I saw somewhere that you guys were looking for a logo. Can you kindly let me know if you still want a logo? I will be glad to help you with it.
Anon Files
We need a privacy policy in order to submit the bot to the marketplace.
Iโve no idea about privacy policy, does anyone have an idea / template? The WIP does not store any data and does not use any 3rd party services. The code is on GitHub, the app is deployed to https://zeit.co/now
Follow up for #76. No need to send a separate request :) Labels are in the request payload already at payload.pull_request.labels
:)
In my organisation (alphagov), we regularly mark PRs as "Do not merge" or "[DO NOT MERGE]". Does it make sense to add this to the wip-bot?
An example:
alphagov/government-frontend#700
These are strings we often exclude:
https://github.com/binaryberry/seal/blob/435fe229733a4c0b872b6f309475451479dfcedd/config/alphagov.yml#L16-L21
I'm guessing it's just a case of updating this line:
https://github.com/gr2m/wip-bot/blob/master/lib/handle-pull-request-change.js#L5
To keep PR titles cleaner, we use labels. Could we add configuration for this?
In light of the new logo, I propose a wip
t-shirts and stickers ๐ธ from redbubble.com ๐
Support for labels landed in #46, but the app does not yet listen to pull_request .labeled
and pull_request.unlabeled
events. The app currently does not change status when changing a label of a PR.
log the organization / repository (if public) for reference, as well as the sha of the commit
I strongly advice to subscribe to this issue if you use the WIP GitHub App. Iโll post about plans for new features and changes so you can make your voice heard before we accidentally break your favorite use case :) I will also post here in case there is any security incident (See our Security Policy).
The issue is locked in order to limit the noise for subscribers. Please open a new issue if you have any questions or feedback about an update.
Hello there, Iโm Gregor!
Besides the WIP App, Iโm maintaining a few JavaScript/Node projects like nock, semantic-release and the official GitHub Platform Toolkit for JavaScript & Node: octokit.js.
Iโm passionate about welcoming and inclusive communities and see it as main responsibility to encourage and support contributions of all kind. The WIP APP itself is open source and contributions of all kind are welcome, especially for documentation, translations, design and user support.
You can follow and contact me directly on Twitter: @gr2m.
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.