From 99e36e740d7f0194878be43e4e1dada36b920e9a Mon Sep 17 00:00:00 2001 From: Hassan Abouelela Date: Tue, 10 May 2022 23:25:42 +0400 Subject: Changelog Discord Invite Regex Changes Signed-off-by: Hassan Abouelela --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a6841cb..c251c35a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 7.0.0 10th May 2022 +- Fix: Capture all characters up to a whitespace in the Discord Invite regex. +- Breaking: Discord invite regex no longer returns a URL safe result, refer to documentation for safely handling it. + ## 6.4.0 26th April 2022 - Feature: Bump discord.py to `[5a06fa5](https://github.com/Rapptz/discord.py/tree/5a06fa5f3e28d2b7191722e1a84c541560008aea)` - Notably, one of the commits in this bump dynamically extends the timeout of `Guild.chunk()` based on the number or members, so it should actually work on our guild now. -- cgit v1.2.3 From 41493dd8f4db721bb285f932415fa60b82d933af Mon Sep 17 00:00:00 2001 From: Hassan Abouelela Date: Tue, 10 May 2022 23:07:55 +0400 Subject: Enable Testing In CI Uncomments the testing command in CI. It is unclear why but the testing command that is normally used in all our projects causes an import error here, so instead we run with `python -m` to ensure the run directory is added to `sys.path`. Signed-off-by: Hassan Abouelela --- .github/workflows/lint-test.yaml | 68 ++++++++++++++++++++++++++++++++++++ .github/workflows/lint.yaml | 75 ---------------------------------------- 2 files changed, 68 insertions(+), 75 deletions(-) create mode 100644 .github/workflows/lint-test.yaml delete mode 100644 .github/workflows/lint.yaml diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml new file mode 100644 index 00000000..a51623cb --- /dev/null +++ b/.github/workflows/lint-test.yaml @@ -0,0 +1,68 @@ +name: Lint & Test + +on: + push: + branches: + - main + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + name: Run Linting & Test Suites + runs-on: ubuntu-latest + + steps: + - name: Install Python Dependencies + uses: HassanAbouelela/actions/setup-python@setup-python_v1.1.0 + with: + # Set dev=true to run pre-commit which is a dev dependency + dev: true + python_version: 3.9 + install_args: "--extras async-rediscache" + + # We will not run `flake8` here, as we will use a separate flake8 + # action. As pre-commit does not support user installs, we set + # PIP_USER=0 to not do a user install. + - name: Run pre-commit hooks + run: export PIP_USER=0; SKIP=flake8 pre-commit run --all-files + + # Run flake8 and have it format the linting errors in the format of + # the GitHub Workflow command to register error annotations. This + # means that our flake8 output is automatically added as an error + # annotation to both the run result and in the "Files" tab of a + # pull request. + # + # Format used: + # ::error file={filename},line={line},col={col}::{message} + - name: Run flake8 + run: "flake8 \ + --format='::error file=%(path)s,line=%(row)d,col=%(col)d::[flake8] %(code)s: %(text)s'" + + - name: Run tests and generate coverage report + run: python -m pytest -n auto --cov botcore -q + + # Prepare the Pull Request Payload artifact. If this fails, we + # we fail silently using the `continue-on-error` option. It's + # nice if this succeeds, but if it fails for any reason, it + # does not mean that our lint checks failed. + - name: Prepare Pull Request Payload artifact + id: prepare-artifact + if: always() && github.event_name == 'pull_request' + continue-on-error: true + run: cat $GITHUB_EVENT_PATH | jq '.pull_request' > pull_request_payload.json + + # This only makes sense if the previous step succeeded. To + # get the original outcome of the previous step before the + # `continue-on-error` conclusion is applied, we use the + # `.outcome` value. This step also fails silently. + - name: Upload a Build Artifact + if: always() && steps.prepare-artifact.outcome == 'success' + continue-on-error: true + uses: actions/upload-artifact@v2 + with: + name: pull-request-payload + path: pull_request_payload.json diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml deleted file mode 100644 index cbe692f3..00000000 --- a/.github/workflows/lint.yaml +++ /dev/null @@ -1,75 +0,0 @@ -name: Lint - -on: - push: - branches: - - main - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - lint: - name: Run pre-commit & flake8 - runs-on: ubuntu-latest - - steps: - - name: Install Python Dependencies - uses: HassanAbouelela/actions/setup-python@setup-python_v1.1.0 - with: - # Set dev=true to run pre-commit which is a dev dependency - dev: true - python_version: 3.9 - install_args: "--extras async-rediscache" - - # We will not run `flake8` here, as we will use a separate flake8 - # action. As pre-commit does not support user installs, we set - # PIP_USER=0 to not do a user install. - - name: Run pre-commit hooks - run: export PIP_USER=0; SKIP=flake8 pre-commit run --all-files - - # Run flake8 and have it format the linting errors in the format of - # the GitHub Workflow command to register error annotations. This - # means that our flake8 output is automatically added as an error - # annotation to both the run result and in the "Files" tab of a - # pull request. - # - # Format used: - # ::error file={filename},line={line},col={col}::{message} - - name: Run flake8 - run: "flake8 \ - --format='::error file=%(path)s,line=%(row)d,col=%(col)d::[flake8] %(code)s: %(text)s'" - -# - name: Run tests and generate coverage report -# run: pytest -n auto --cov --disable-warnings -q -# -# # This step will publish the coverage reports coveralls.io and -# # print a "job" link in the output of the GitHub Action -# - name: Publish coverage report to coveralls.io -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# run: coveralls - - # Prepare the Pull Request Payload artifact. If this fails, we - # we fail silently using the `continue-on-error` option. It's - # nice if this succeeds, but if it fails for any reason, it - # does not mean that our lint checks failed. - - name: Prepare Pull Request Payload artifact - id: prepare-artifact - if: always() && github.event_name == 'pull_request' - continue-on-error: true - run: cat $GITHUB_EVENT_PATH | jq '.pull_request' > pull_request_payload.json - - # This only makes sense if the previous step succeeded. To - # get the original outcome of the previous step before the - # `continue-on-error` conclusion is applied, we use the - # `.outcome` value. This step also fails silently. - - name: Upload a Build Artifact - if: always() && steps.prepare-artifact.outcome == 'success' - continue-on-error: true - uses: actions/upload-artifact@v2 - with: - name: pull-request-payload - path: pull_request_payload.json -- cgit v1.2.3