aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Remove duplicate checkmarkGravatar Gustav Odinger2020-11-21-1/+1
| | | | | | - This removes a duplicate checkmark from the title of the embed - The checkmark was left from the previous title system and wasn't removed in the change
* Update available help channel embed messageGravatar Gustav Odinger2020-11-21-1/+1
| | | | - This changes "we'll try to help you" to say "others will try to help you" - Clarifies that the rest of the community is going to help — not some dedicated help/staff team
* Update available message to sound betterGravatar Gustav Odinger2020-11-17-1/+1
| | | | | - This replaces "one" with "any" - This is supposed to read better
* Use author as the title of the embedGravatar Gustav Odinger2020-11-17-1/+1
| | | | - Allows the icon to be centered
* Add green-checkmark to bot constantsGravatar Gustav Odinger2020-11-17-0/+4
|
* Update help channel available messageGravatar Gustav Odinger2020-11-16-10/+19
| | | | | | - Adds a footer and title - Uses a green colored embed - Updates message to be easier to read and contain practical info for asking better questions
* Add bright green color to constantsGravatar Gustav Odinger2020-11-16-0/+2
| | | | - The color is used in the new help channel embed
* Merge pull request #1284 from ↵Gravatar Joe Banks2020-11-15-281/+351
|\ | | | | | | python-discord/sebastiaan/features/move-ci-to-github-actions
| * Use GHCR for the site container in docker-composeGravatar Sebastiaan Zeeff2020-11-15-1/+1
| | | | | | | | | | | | | | | | | | | | | | The docker-compose file should pull the site container from the GitHub Container Registry instead of DockerHub, as the latter will not receive new container images. Snekbox currently still pulls from DockerHub as it's not yet migrated to GHCR. Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Remove DockerHub from GitHub ActionsGravatar Sebastiaan Zeeff2020-11-15-11/+3
| | | | | | | | | | | | We don't use DockerHub anymore; let's remove it! Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Push container to both DockerHub and GHCRGravatar Sebastiaan Zeeff2020-11-14-2/+22
| | | | | | | | | | | | | | | | To make the transition easier, we push the Docker container to both DockerHub and the GitHub Container Registry. I've also added a secondary tag by short commit SHA. Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Add documentation to GitHub Actions stepsGravatar Sebastiaan Zeeff2020-11-14-5/+25
| | | | | | | | Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Remove codeql analysis as it had little effectGravatar Sebastiaan Zeeff2020-11-14-32/+0
| | | | | | | | | | | | | | The codeql analysis action we had proved to add little value to our test suite and has been removed. Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Set flake8 action checkName to correct value Gravatar Sebastiaan Zeeff2020-11-14-1/+1
| | | | | | | | | | The `checkName` value of this action needs to have the same value as the name of the job. Co-authored-by: Joe Banks <[email protected]>
| * Stop Checkout Actions from persisting credentialsGravatar Sebastiaan Zeeff2020-11-14-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | By default, the Checkout Actions persists the credentials in the environment. As our Actions will also run for PRs made from a fork, we don't want to persist credentials in such a way. I've also: - Ported a comment on PIP_USER and pre-commit from the azure configs - Removed unnecessary id for the pre-commit caching step Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Add CI dependency coveralls to our PipfileGravatar Sebastiaan Zeeff2020-11-14-4/+55
| | | | | | | | | | | | | | | | | | | | The dependency `coveralls` was installed directly in GitHub Actions, as it's not required for local dev environments. However, it's a small package and there's value in keeping all our dependency specifications in one place. That's why I've moved it to the [dev] section of our Pipfile. Signed-off-by: Sebastiaan Zeeff <[email protected]>
| * Migrate CI Pipeline to GitHub ActionsGravatar Sebastiaan Zeeff2020-11-14-251/+265
|/ | | | | | | | | | | | | | | | | | | | | | | I've migrated our Azure CI Pipeline to GitHub Actions. While the general workflow is the same, there are a few changes: - `flake8` is no longer run by `pre-commit`, but rather by a separate action that adds annotations to the GH Action results page. - As we no longer have need for xml-formatted coverage files, the xmlrunner for unittest has been removed as a dependency. Instead, we now publish our coverage results to coveralls.io. - We use version 2 of docker's GitHub Action build-and-push flow, which is split over multiple steps instead of one. - I have changed the badges to GitHub Actions and coveralls.io badges. Note: Because we accept PRs from forks, we need to be a bit careful with our secrets. While we do use the `pull_request_target` event, we should not expose secrets in steps that run code from the repository. Signed-off-by: Sebastiaan Zeeff <[email protected]>
* CI: disable 'continueOnError'Gravatar kwzrd2020-11-13-2/+0
| | | | | | | | | | | After #1219, we started to encounter issues with the cache being corrupted and CI failing due to 'pre-commit' not being installed after restore. Although it doesn't seem likely that this could have been the culprit, the issues began appearing shortly after merging the PR. Let's see what happens if we disable it.
* CI: invalidate environment cacheGravatar kwzrd2020-11-13-1/+1
| | | | The cache was corrupted again for unknown reasons.
* Merge pull request #1272 from python-discord/Hemlock/voice-gate-pingGravatar Daniel Brown2020-11-12-3/+100
|\ | | | | Voice Gate: notify new unverified users in the verification channel
| * Config: ensure 2 blank lines between classesGravatar kwzrd2020-11-11-0/+3
| | | | | | | | | | Previous changes reduced the spacing to 1 blank line, which is inconsistent with the prevailing style.
| * Merge CI dep cache bump from 'master' branchGravatar kwzrd2020-11-11-1/+1
| |\ | |/ |/|
* | CI: invalidate dependency cacheGravatar kwzrd2020-11-11-1/+1
| | | | | | | | | | | | The cache became corrupted for reasons what we were not able to figure out, causing the pre-commit step to fail when the environment was retrieved from the cache. By changing the key, we force cache rebuild.
| * Merge CI changes from 'master' branchGravatar kwzrd2020-11-10-5/+9
| |\ | |/ |/|
* | Merge pull request #1273 from ↵Gravatar Dennis Pham2020-11-08-1/+1
|\ \ | | | | | | | | | | | | python-discord/sebastiaan/bugs/codeblock-language-detection Detect codeblock language specifiers with special characters
| * \ Merge branch 'master' into sebastiaan/bugs/codeblock-language-detectionGravatar Dennis Pham2020-11-08-1/+5
| |\ \ | |/ / |/| |
* | | Merge pull request #1148 from Jack92829/masterGravatar Senjan212020-11-07-0/+3
|\ \ \ | | | | | | | | New guilds tag
| * | | Update guilds.mdGravatar Jack928292020-09-29-3/+2
| | | | | | | | | | | | Not to sure of the title to give it but I think the content is a bit more in line with the servers other tags
| * | | Update guilds.mdGravatar Jack928292020-09-26-4/+3
| | | |
| * | | Merge branch 'master' into masterGravatar Matteo Bertucci2020-09-23-2462/+2436
| |\ \ \
| * | | | Update guilds.mdGravatar Jack928292020-09-06-1/+1
| | | | |
| * | | | Update and rename ServersTag.md to guilds.mdGravatar Jack928292020-09-06-5/+5
| | | | |
| * | | | Add files via uploadGravatar Jack928292020-09-06-0/+5
| | | | |
* | | | | Merge pull request #1219 from python-discord/bug/ci/cache-continue-on-errorGravatar Senjan212020-11-07-1/+2
|\ \ \ \ \ | | | | | | | | | | | | CI: avoid failing whole job if a cache task fails
| * | | | | CI: avoid failing whole job if a cache task failsGravatar MarkKoz2020-10-06-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restoring from cache is non-critical. The CI can recover if cache tasks fail.
| | | | * | Detect codeblock language with special charactersGravatar Sebastiaan Zeeff2020-11-06-1/+1
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regex we use to detect codeblocks did not recognize language specifiers that use a dash, a plus, or a dot in their name. As there are valid language specifiers, such as python-repl and c++, that use those characters, I've changed the regex to reflect that. The character set used now reflects the characters used in language specifiers in highlight.js. Signed-off-by: Sebastiaan Zeeff <[email protected]>
* | | | | Merge pull request #1271 from spacecraft1013/code_instructionsGravatar Dennis Pham2020-11-06-2/+2
|\ \ \ \ \ | | | | | | | | | | | | ```py convention in code block instructions
| * \ \ \ \ Merge branch 'master' into code_instructionsGravatar Dennis Pham2020-11-06-105/+169
| |\ \ \ \ \ | |/ / / / / |/| | | | |
* | | | | | Merge pull request #1266 from zachgates/patch-1Gravatar Senjan212020-11-06-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Updated langs to include python-repl
| * | | | | | Reinsert python-repl in PY_LANG_CODESGravatar Zach Gates2020-11-01-1/+1
| | | | | | |
| * | | | | | Updated langs to include python-replGravatar Zach Gates2020-11-01-1/+1
| | | | | | |
| | * | | | | Modified instructions for code block without langGravatar Amin Boukari2020-11-05-1/+1
| | | | | | |
| | * | | | | Changed ```python to ```pyGravatar Amin Boukari2020-11-05-1/+1
| | | | | | |
| | | | | | * Voice Gate: explain the purpose of `NO_MSG`Gravatar kwzrd2020-11-10-0/+4
| | | | | | |
| | | | | | * Voice Gate: ensure atomicity when notifying usersGravatar kwzrd2020-11-10-20/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the listener risked yielding control to a racing event at multiple points between checking whether the member was already notified, notifying them, and writing this information into the cache. As a result, in a pathological case, multiple racing coroutines could have passed the membership check and ping-spammed the user, before the first coro could have a chance to write the message ID into the cache. In this commit, we move this logic into an atomic helper, which will ensure that events are processed one-by-one, and subsequent events correctly abort. Co-authored-by: MarkKoz <[email protected]> Co-authored-by: Sebastiaan Zeeff <[email protected]> Co-authored-by: Daniel Brown <[email protected]>
| | | | | | * Voice Gate: define atomic `_delete_ping` functionGravatar kwzrd2020-11-10-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code for ping deletion was duplicated in two places. In this commit, we move it into a helper function, and apply a lock to make each transaction atomic. This means that if two coroutines try to call the function, the first has to finish before the second can begin. This avoids the following: Coro1: Message in cache? Yes. Coro1: Send delete request. Yield control (await). Coro2: Message in cache? Yes. Now Coro2 has to wait for Coro1 to finish. Therefore it will always find the `NO_MSG` signal, and not attempt the deletion. Co-authored-by: MarkKoz <[email protected]> Co-authored-by: Sebastiaan Zeeff <[email protected]> Co-authored-by: Daniel Brown <[email protected]>
| | | | | | * Voice Gate: correct after-delay message delete methodologyGravatar kwzrd2020-11-09-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a HTTP method so that we do not have to fetch the message object, the cache only gives us the ID.
| | | | | | * Voice Gate: correct HTTP delete method usageGravatar kwzrd2020-11-09-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the need to fetch the Channel object. Add a trace log to help with testing.
| | | | | | * Voice Gate: refer to config rather than hard-coded durationGravatar kwzrd2020-11-08-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The const was introduced for this purpose, but it was accidentally not being used.
| | | | | | * Voice Gate: fix cache membership checkGravatar kwzrd2020-11-08-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the cache offers a 'contains' coro, let's use it. If the member ID is already present in the cache, they were either already verified, or were already pung about not being verified.