Coder Social home page Coder Social logo

app's People

Contributors

aniketroy avatar anshumanv avatar arahaan avatar bkeepers avatar chris-erickson avatar danielb987 avatar davidcelis avatar dependabot[bot] avatar fofr avatar genebean avatar gr2m avatar greenkeeper[bot] avatar greenkeeperio-bot avatar hassaans avatar haydenmeloche avatar heel avatar jbrooksuk avatar jsoref avatar k4m4 avatar kakavip avatar kaxil avatar knrt10 avatar melissamcewen avatar micahilbery avatar p0lygun avatar paulgessinger avatar raul6469 avatar schroedingerscode avatar thatnerdypikachu avatar wojtekmach 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  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  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  avatar

Watchers

 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

app's Issues

⚙ Configuration

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

  1. The terms that the WIP app will look for (by default "WIP", "Work in progress" and "Do not merge", case insensitive)
  2. The locations that the WIP app will check for the configured terms (by default only the pull request title)

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

Example configuration

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

Discussion

I’m not happy with the term "check". Maybe someone has a better idea?

🎞️ Create a new gif showing how WIP works

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 💐💝

Commit status isn't updated when pushing to existing Pull Request

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.

Set status using checks

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

  1. A custom UI:
    image
    The "details" link in the pull request checks list links to that UI. In there we can explain why the pull request was set to "pending". That will come in handy when introducing configuration (#96)
  2. Custom actions:
    We can use a custom action to manually override the "pending" status. That will become helpful when WIP is configured to look for terms in commit messages. Once the pull request is considered ready, the author does not need to clean up the commits, they can just override the status to "ready". That should help us address #53

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

Do you still need a logo?

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

Mark status as in-progress rather than as failed

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?

🎨🤖 Create a logo

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

wip logo

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.

An in-range update of semantic-release is breaking the build 🚨

Version 15.9.1 of semantic-release was just published.

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.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).
  • Travis CI - Branch: The build failed.

Release Notes v15.9.1

15.9.1 (2018-07-30)

Bug Fixes

  • clarify EPLUGINCONF error message (d8c84a0)
Commits

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

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Support for labels?

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.

block merge of squash! or fixup! commits

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?

Also set label when setting error status

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?

Loading labels for private repositories fails

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?

Simplify webhook setup

🆕🐥☝ First Timers Only.

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 💝

About First Timers Only.

🤔 What you will need to know.

Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

📋 Step by Step

  • 🙋 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:

    1. 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.

    2. You can edit files directly in your browser

  • 🏁 Done Ask in comments for a review :)

🤔❓ Questions

Leave a comment below!

This issue was created by First-Timers-Bot.

Support labels

To keep PR titles cleaner, we use labels. Could we add configuration for this?

Publishing to npm

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.

Extend the bot to look for a [hold] flag

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?

GitHub Enterprise support

Hello,

We're soon migrating from Github SAAS to Github Entreprise.
Is WIP app supported on Gtihub Entreprise ?

Thank you :-)

TypeError: fn.call is not a function

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

Update status when changing labels

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.

🔐👮Privacy policy

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

Provide capability to configure when to block

Documentation says that the app checks the following

  1. The pull request title
  2. One of the pull request labels
  3. One of the pull request commit messages

Is there a way to configure it should block 1), but not for 2) & 3)?

Unable to remove WIP from repo?

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!

🤖📯 Updates

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.

About myself 👋

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.

sets status only if **last** commit contains "wip"

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 !

does not support "[WIP]"? (update: it of course does!)

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.

function containsWIP (string) {
return /\b(wip|do not merge|work in progress)\b/i.test(string)
}

Notice the leading \b. It doesn't treat brackets as word boundaries so it fails to catch issues titled "[WIP] blah".

New Icon / Logo

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

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.