mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-05-07 06:23:26 +08:00
71 lines
3.5 KiB
YAML
Vendored
71 lines
3.5 KiB
YAML
Vendored
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")
|