aboutsummaryrefslogtreecommitdiffstats
path: root/bot/bot.py (unfollow)
Commit message (Collapse)AuthorLines
2020-12-11Check if error.original is an instance of OSError.Gravatar Rohan-4/+3
Also, remove error handler for get_command and video_command.
2020-12-10Skip status embed for skipped Build workflowGravatar Sebastiaan Zeeff-2/+3
With the new `workflow_run` setup, we need to make sure that we don't try to send an embed for a skipped workflow. This would be noisy and does not add a lot of useful information.
2020-12-10Use Build Artifact to communicate PR informationGravatar Sebastiaan Zeeff-18/+41
A workflow run with a `workflow_run` payload does not contain the necessary information to build a PR embed. As the old method of using the API to fetch the relevant information turned out to be fragile (read note 1 below) and the original Lint workflow already contains the `pull_request` payload, we now store it as a build artifact. The embed workflow then fetches the artifact and parses it to get the relevant information out of it. --- Note 1: Unfortunately, filtering Pull Requests using the "head" parameter of the ``/repos/{owner}/{repo}/pulls` endpoint does not work if the PR belongs to a fork with a different name than the base repository: the API request will just return an empty array. I've contacted GH to ask if this was intended or if it's a glitch, but, for now, it's not a route that's easily available.
2020-12-09Use workflow_run to send status embed to DiscordGravatar Sebastiaan Zeeff-63/+71
I've changed the way we send status embeds to make it work for PRs made from forks without potentially exposing secrets. Instead of using the initial workflows to send the embed, I've created a `workflow_run` workflow that always runs in the context of the base repository. And added benefit is that we don't have to add the status embed step to two separate workflows.
2020-12-07Modify snakes_cog error handler.Gravatar Rohan-16/+6
local error handler no longer checks for BadArgument error and the attribute handled will be set to True on the error if an OSError occurs.