| Commit message (Collapse) | Author | Age | Lines |
| |
|
|
|
|
| |
- 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
|
| |
|
|
| |
- 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
|
| |
|
|
|
| |
- This replaces "one" with "any"
- This is supposed to read better
|
| |
|
|
| |
- Allows the icon to be centered
|
| | |
|
| |
|
|
|
|
| |
- 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
|
| |
|
|
| |
- The color is used in the new help channel embed
|
| |\
| |
| |
| | |
python-discord/sebastiaan/features/move-ci-to-github-actions
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
| |
| |
| |
| |
| | |
We don't use DockerHub anymore; let's remove it!
Signed-off-by: Sebastiaan Zeeff <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
| |
| |
| | |
Signed-off-by: Sebastiaan Zeeff <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
| |
| |
| |
| | |
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]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
The cache was corrupted again for unknown reasons.
|
| |\
| |
| | |
Voice Gate: notify new unverified users in the verification channel
|
| | |
| |
| |
| |
| | |
Previous changes reduced the spacing to 1 blank line, which is
inconsistent with the prevailing style.
|
| | |\
| |/
|/| |
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | |\
| |/
|/| |
|
| |\ \
| | |
| | |
| | |
| | | |
python-discord/sebastiaan/bugs/codeblock-language-detection
Detect codeblock language specifiers with special characters
|
| | |\ \
| |/ /
|/| | |
|
| |\ \ \
| | | |
| | | | |
New guilds tag
|
| | | | |
| | | |
| | | | |
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
|
| | | | | |
|
| | |\ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
CI: avoid failing whole job if a cache task fails
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Restoring from cache is non-critical. The CI can recover if cache tasks
fail.
|
| | |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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]>
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
```py convention in code block instructions
|
| | |\ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Updated langs to include python-repl
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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]>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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]>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Use a HTTP method so that we do not have to fetch the message object,
the cache only gives us the ID.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This removes the need to fetch the Channel object. Add a trace log
to help with testing.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The const was introduced for this purpose, but it was accidentally
not being used.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|