Merge branch 'develop' into feature/openbb-sdk-v4

This commit is contained in:
Theodore Aptekarev
2023-09-28 17:00:00 +02:00
3 changed files with 71 additions and 69 deletions

View File

@@ -411,7 +411,7 @@ def parse_openbb_script( # noqa: PLR0911,PLR0912
for line in lines_with_vars_replaced:
# Found 'foreach' header associated with loop
match = re.search(
r"foreach \$\$([A-Za-z\_]+) in ([A-Za-z0-9,-]+)", line, re.IGNORECASE
r"foreach \$\$([A-Za-z\_]+) in ([A-Za-z0-9,-.]+)", line, re.IGNORECASE
)
if match:
varname = match.group(1)

70
reviewpad.yaml vendored Normal file
View File

@@ -0,0 +1,70 @@
groups:
- name: ignored-patterns
spec: '["*.lock","*.csv","*.yaml","*.txt"]'
rules:
- name: changes-requirements
spec: $containsFileName("requirements.txt") && $containsFileName("requirements-full.txt")
- name: should-run-reviewpad
spec: '!$isElementOf("reviewpad-ignore", $getLabels())'
workflows:
- name: label-pull-request-with-size
description: Label pull request based on the number of lines changed
run:
- if: $rule("should-run-reviewpad")
then:
# Calculate size while ignoring patterns in the "ignored-patterns" group
# For more details about size follow https://docs.reviewpad.com/guides/built-ins/#size
- if: $getSize($group("ignored-patterns")) <= 100
then:
- $removeLabels(["feat S", "feat M", "feat L", "feat XL"])
- $addLabel("feat XS")
- if: $getSize($group("ignored-patterns")) > 100 && $getSize($group("ignored-patterns")) <= 300
then:
- $removeLabels(["feat XS", "feat M", "feat L", "feat XL"])
- $addLabel("feat S")
- if: $getSize($group("ignored-patterns")) > 300 && $getSize($group("ignored-patterns")) <= 900
then:
- $removeLabels(["feat XS", "feat S", "feat L", "feat XL"])
- $addLabel("feat M")
- if: $getSize($group("ignored-patterns")) > 900 && $getSize($group("ignored-patterns")) <= 1800
then:
- $removeLabels(["feat XS", "feat S", "feat M", "feat XL"])
- $addLabel("feat L")
- if: $getSize($group("ignored-patterns")) > 1800
then:
- $removeLabels(["feat XS", "feat S", "feat M", "feat L"])
- $addLabel("feat XL")
- name: sanity
description: Verify pull request sanity
run:
- if: $rule("should-run-reviewpad")
then:
- if: $containsOnlyFileExtensions([".py"]) && $getSize() > 1000
then:
- $failCheckStatus("This PR is very large and hard to review. Please split PR into multiple")
- if: $containsBinaryFiles()
then:
- $failCheckStatus("Images are not allowed in the repository, please remove images from the PR")
- name: dependencies
description: Verify pull request dependency changes
run:
- if: $rule("should-run-reviewpad")
then:
- if: '!$isDraft() && $containsFileName("poetry.lock") && !$rule("changes-requirements")'
then:
- $review("REQUEST_CHANGES", "The `poetry.lock` file has been changed. Please update both `requirements.txt` and `requirements-full.txt` files")
- if: '!$isDraft() && $containsFileName("pyproject.toml") && !$rule("changes-requirements")'
then:
- $reportWarning("The `pyproject.toml` file has been changed. Please make sure that the files `requirements.txt` and `requirements-full.txt` do not need to be updated")
- name: EOF
description: Verify files EOF
run:
- if: $rule("should-run-reviewpad")
then:
# By default, Reviewpad splits each file in the patch using the line feed character (\n or LF).
# This means that if a file has a carriage return character (\r) at the end, it indicates that the file has CRLF line endings instead.
- if: $containsCodePattern("\r$$")
then:
- $reportWarning("It looks like you have files with `CRLF` line endings. Please make sure that all files have `LF` line endings")

68
reviewpad.yaml.backup vendored
View File

@@ -1,68 +0,0 @@
groups:
- name: ignored-patterns
spec: '["*.lock","*.csv","*.yaml","*.txt"]'
rules:
- name: changes-requirements
spec: $hasFileName("requirements.txt") && $hasFileName("requirements-full.txt")
workflows:
- name: label-pull-request-with-size
description: Label pull request based on the number of lines changed
always-run: true
if:
# Calculate size while ignoring patterns in the "ignored-patterns" group
# For more details about size follow https://docs.reviewpad.com/guides/built-ins/#size
- rule: $size($group("ignored-patterns")) <= 100
extra-actions:
- $removeLabels(["feat S", "feat M", "feat L", "feat XL"])
- $addLabel("feat XS")
- rule: $size($group("ignored-patterns")) > 100 && $size($group("ignored-patterns")) <= 300
extra-actions:
- $removeLabels(["feat XS", "feat M", "feat L", "feat XL"])
- $addLabel("feat S")
- rule: $size($group("ignored-patterns")) > 300 && $size($group("ignored-patterns")) <= 900
extra-actions:
- $removeLabels(["feat XS", "feat S", "feat L", "feat XL"])
- $addLabel("feat M")
- rule: $size($group("ignored-patterns")) > 900 && $size($group("ignored-patterns")) <= 1800
extra-actions:
- $removeLabels(["feat XS", "feat S", "feat M", "feat XL"])
- $addLabel("feat L")
- rule: $size($group("ignored-patterns")) > 1800
extra-actions:
- $removeLabels(["feat XS", "feat S", "feat M", "feat L"])
- $addLabel("feat XL")
- name: sanity
# TODO: this needs to include a condition to ignore a specific file or PR from the check
# Use case - adding installer icons to the repo
description: Verify pull request sanity
always-run: true
if:
- rule: $hasFileExtensions([".py"]) && $size() > 1000
extra-actions:
- $fail("This PR is very large and hard to review. Please split PR into multiple")
- rule: $hasBinaryFile()
extra-actions:
- $fail("Images are not allowed in the repository, please remove images from the PR")
- name: dependencies
# TODO: this needs to include a condition to ignore a specific file or PR from the check
# The use case is when we change a version number or change a linter rule
description: Verify pull request dependency changes
always-run: true
if:
- rule: '!$isDraft() && $hasFileName("poetry.lock") && !$rule("changes-requirements")'
extra-actions:
- $review("REQUEST_CHANGES", "The `poetry.lock` file has been changed. Please update both `requirements.txt` and `requirements-full.txt` files")
- rule: '!$isDraft() && $hasFileName("pyproject.toml") && !$rule("changes-requirements")'
extra-actions:
- $warn("The `pyproject.toml` file has been changed. Please make sure that the files `requirements.txt` and `requirements-full.txt` do not need to be updated")
- name: EOF
description: Verify files EOF
always-run: true
if:
# By default, Reviewpad splits each file in the patch using the line feed character (\n or LF).
# This means that if a file has a carriage return character (\r) at the end, it indicates that the file has CRLF line endings instead.
- rule: $hasCodePattern("\r$$")
extra-actions:
- $warn("It looks like you have files with `CRLF` line endings. Please make sure that all files have `LF` line endings")