Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create bot account for automatic issue updates #1663

Closed
blairconrad opened this issue Oct 16, 2019 · 8 comments
Closed

Create bot account for automatic issue updates #1663

blairconrad opened this issue Oct 16, 2019 · 8 comments
Assignees
Milestone

Comments

@blairconrad
Copy link
Member

#1654 causes our "deploy" script to automatically note which issues are part of which release, but the comments are attributed to @thomaslevesque, even if he's not the one who pushed the release. He suggests we make a bot account for these kinds of updates.

@blairconrad
Copy link
Member Author

blairconrad commented Oct 21, 2019

Created @afakebot account.

Will

  • give it permissions to
    • comment on issues
    • attach artifacts to GitHub releases
  • generate an API token and add it to AppVeyor

@blairconrad blairconrad added this to the vNext milestone Oct 21, 2019
@blairconrad
Copy link
Member Author

@thomaslevesque, I made the account and did what I could to grant appropriate permissions. The API key has been installed on AppVeyor. I guess we'll just see how it goes when we deploy next!

@blairconrad
Copy link
Member Author

blairconrad commented Oct 21, 2019

For what it's worth, this is how I made the avatar (in several sizes, but we really didn't need them all):

try:
    import Image
    import ImageDraw
except:  # NOQA - fallback, no matter the cause
    try:
        from PIL import Image, ImageDraw
    except:  # NOQA - we'll raise a better exception
        raise Exception("Can't import PIL or PILLOW. Install one.")


def build_icon():
    bot = Image.open("noun_Robot_1933372.png")
    bot = bot.crop([89, 0, 610, 600])

    socks = Image.new("RGB", bot.size)
    draw = ImageDraw.Draw(socks)
    draw.rectangle([0, 451, 610, 487], outline="#C9B776", fill="#C9B776")
    draw.rectangle([0, 487, 610, 524], outline="#838D61", fill="#838D61")
    draw.rectangle([0, 524, 610, 561], outline="#89622F", fill="#89622F")
    draw.rectangle([0, 561, 610, 600], outline="#2C444E", fill="#2C444E")
      
    bot_with_socks = Image.new("RGB", bot.size, "white")
    bot_with_socks.paste(socks, mask=bot)

    icon = Image.new("RGB", (max(bot.size), max(bot.size)), "white")
    icon.paste(
        bot_with_socks,
        ((icon.size[0] - bot.size[0]) // 2, (icon.size[1] - bot.size[1]) // 2)
        )
    return icon


icon = build_icon()
for final_width in [512, 256, 128, 64, 48, 40, 32, 16]:
    icon.resize((final_width, final_width), Image.BICUBIC).save(f"fakeiteasybot_{final_width}.png")

@thomaslevesque
Copy link
Member

Somehow I missed the notification for these messages...

Wow, you actually wrote some code to make an image? I would just have made it in high resolution with Paint.NET, the resized it to the appropriate size. Anyway, I love the result!

@blairconrad
Copy link
Member Author

I often do use Paint.NET for things like this, and that's how I made the first prototype I sent you, but sometimes when I want to iterate, I find the GUI work tedious. Also, the original image had an alpha channel and I wasn't sure off the top of my head how to overlay the coloured sock and shoe bands over the legs without losing the transparency. I knew how to do it in Python! 😆

I really just (greatly) simplified a script I'd written to combine two Noun Project icons (in slighlty different ways) and produce a plethora of different-sized icons for another project, so it was less work than it seems…

@blairconrad blairconrad modified the milestones: 5.4.0, vNext Oct 23, 2019
@blairconrad
Copy link
Member Author

blairconrad commented Oct 23, 2019

In build 803, releasing FIE 5.4.0, the bot was able to attach packages to the release, but the deploy to NuGet failed (not the bot's fault) before the bot got a chance to update the issues in the milestone. Keeping this issue open until we see all functionality work.

@blairconrad
Copy link
Member Author

As shown in #1696 (comment), it works!

@afakebot
Copy link

This change has been released as part of FakeItEasy 6.0.0-beta.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants