Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added GitHub Actions python script linter #2850

Merged
merged 3 commits into from
Jan 12, 2025

Conversation

palisadoes
Copy link
Contributor

@palisadoes palisadoes commented Jan 12, 2025

What kind of change does this PR introduce?

Added GitHub Actions python script linter

Issue Number:

-N/A

Snapshots/Videos:

-N/A

If relevant, did you update the documentation?

-N/A

Summary

We need this to ensure standardization in our supporting scripts

Does this PR introduce a breaking change?

  • No

Other information

  • N/A

Have you read the contributing guide?

  • Yes

Summary by CodeRabbit

  • New Features

    • Added comprehensive code quality checks to GitHub Actions workflow
    • Introduced Python code style and documentation validation scripts
  • Documentation

    • Added configuration files for flake8, pydocstyle, and Black code formatter
    • Updated docstring validation and compliance scripts
  • Chores

    • Configured line length and error code ignore settings for various Python tools
    • Added requirements for code quality and style checking tools

@palisadoes palisadoes added the ignore-sensitive-files-pr The contributor has a legitimate reason for editiing protected files label Jan 12, 2025
Copy link

coderabbitai bot commented Jan 12, 2025

Warning

Rate limit exceeded

@palisadoes has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 10 minutes and 13 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between e619341 and 1fcb925.

📒 Files selected for processing (4)
  • .github/workflows/pull-request.yml (3 hunks)
  • .github/workflows/scripts/biome_disable_check.py (7 hunks)
  • .github/workflows/scripts/check_docstrings.py (1 hunks)
  • .github/workflows/scripts/code_coverage_disable_check.py (10 hunks)

Walkthrough

This pull request introduces comprehensive code quality and style enforcement mechanisms for Python projects. It adds configuration files for various code quality tools like flake8, pydocstyle, and Black, along with a new GitHub Actions workflow for Python code compliance. A new Python script for docstring validation is also introduced, which checks docstrings against the Google style guide. The changes aim to standardize code formatting, documentation, and linting across the project.

Changes

File Change Summary
.flake8 Added configuration section with ignored error codes and max line length of 80 characters
.github/workflows/pull-request.yml Added new Python-Compliance job for code style checks
.github/workflows/requirements.txt Added dependencies for code quality tools: black, pydocstyle, flake8, etc.
.github/workflows/scripts/biome_disable_check.py Updated docstrings and formatting
.github/workflows/scripts/check_docstrings.py New script for validating docstrings against Google style guide
.github/workflows/scripts/code_coverage_disable_check.py Updated docstrings and formatting
.pydocstyle Added configuration for docstring style guide and error code ignoring
pyproject.toml Added Black formatter configuration with 79-character line length

Sequence Diagram

sequenceDiagram
    participant PR as Pull Request
    participant GA as GitHub Actions
    participant Checks as Code Quality Checks
    
    PR->>GA: Trigger workflow
    GA->>Checks: Run Python Compliance Job
    Checks->>Checks: Checkout Repository
    Checks->>Checks: Setup Python 3.11
    Checks->>Checks: Install Dependencies
    Checks->>Checks: Run Black Formatter
    Checks->>Checks: Run Flake8 Linter
    Checks->>Checks: Run Pydocstyle
    Checks->>Checks: Check Docstrings
    Checks->>GA: Report Results
Loading

Possibly related PRs


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 22

🔭 Outside diff range comments (2)
.github/workflows/scripts/biome_disable_check.py (1)

Line range hint 127-142: Include Missing Details in Function Docstring

The docstring for main should include type hints for parameters (if any) and specify the return type, even if it is None, in accordance with the style guide.

Since main takes no arguments and returns None, you can update the docstring:

     """
     ...
 
     Args:
-        None
+        None

     Returns:
-        None
+        None
     ...

Alternatively, you may omit the Args and Returns sections if they are not providing additional information.

.github/workflows/scripts/code_coverage_disable_check.py (1)

Line range hint 138-153: Simplify Docstring for main Function

The main function's docstring includes Args and Returns sections stating None. Since main does not accept parameters or return a value, these sections can be omitted.

Simplify the docstring:

     """Execute the script's main functionality.

     This function serves as the entry point for the script. It performs
     the following tasks:
     1. Validates and retrieves the files or directories to check from
        command line arguments.
     2. Checks files or directories for code coverage disable statements.
     3. Provides informative messages based on the analysis.
     4. Exits with an error if code coverage disable statements are found.
 
-    Args:
-        None
-
-    Returns:
-        None
-
     Raises:
         SystemExit: If an error occurs during execution.
     """
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 61a8aa5 and e619341.

📒 Files selected for processing (8)
  • .flake8 (1 hunks)
  • .github/workflows/pull-request.yml (1 hunks)
  • .github/workflows/requirements.txt (1 hunks)
  • .github/workflows/scripts/biome_disable_check.py (6 hunks)
  • .github/workflows/scripts/check_docstrings.py (1 hunks)
  • .github/workflows/scripts/code_coverage_disable_check.py (9 hunks)
  • .pydocstyle (1 hunks)
  • pyproject.toml (1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/pull-request.yml

242-242: job "python-compliance" needs job "code-quality-checks" which does not exist in this workflow

(job-needs)


253-253: the runner of "actions/setup-python@v4" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

🪛 Ruff (0.8.2)
.github/workflows/scripts/code_coverage_disable_check.py

87-87: Trailing comma missing

Add trailing comma

(COM812)


101-101: Trailing comma missing

Add trailing comma

(COM812)

.github/workflows/scripts/biome_disable_check.py

37-37: Trailing comma missing

Add trailing comma

(COM812)


75-75: Trailing comma missing

Add trailing comma

(COM812)

.github/workflows/scripts/check_docstrings.py

14-14: Missing return type annotation for public function validate_docstring

(ANN201)


14-14: Missing type annotation for function argument file_path

(ANN001)


30-30: Unnecessary open mode parameters

Remove open mode parameters

(UP015)


33-33: Do not catch blind exception: Exception

(BLE001)


53-54: Use a single if statement instead of nested if statements

(SIM102)


67-67: Trailing comma missing

Add trailing comma

(COM812)


76-76: Missing return type annotation for public function ignore_function

(ANN201)


76-76: Missing type annotation for function argument function

(ANN001)


76-76: Missing type annotation for function argument file_path

(ANN001)


100-100: match_arguments_to_docstring is too complex (11 > 10)

(C901)


100-100: Missing return type annotation for public function match_arguments_to_docstring

(ANN201)


100-100: Missing type annotation for function argument function

(ANN001)


100-100: Missing type annotation for function argument docstring

(ANN001)


100-100: Missing type annotation for function argument line_number

(ANN001)


129-129: Trailing comma missing

Add trailing comma

(COM812)


138-138: Loop control variable argument_function not used within loop body

(B007)


152-152: Trailing comma missing

Add trailing comma

(COM812)


162-162: Loop control variable argument_docstring not used within loop body

(B007)


176-176: Trailing comma missing

Add trailing comma

(COM812)


187-187: Missing return type annotation for public function function_has_decorator

(ANN201)


187-187: Missing type annotation for function argument start

(ANN001)


187-187: Missing type annotation for function argument lines

(ANN001)


209-209: Missing return type annotation for public function decorator_in_docstring_exception_list

(ANN201)


209-209: Missing type annotation for function argument item

(ANN001)


240-240: Missing return type annotation for public function extract_function_arguments

(ANN201)


240-240: Missing type annotation for function argument start

(ANN001)


240-240: Missing type annotation for function argument lines

(ANN001)


262-262: Unnecessary elif after continue statement

Remove unnecessary elif

(RET507)


283-283: Unnecessary assignment to result before return statement

Remove unnecessary assignment

(RET504)


286-286: extract_docstring is too complex (12 > 10)

(C901)


286-286: Missing return type annotation for public function extract_docstring

(ANN201)


286-286: Missing type annotation for function argument func_name

(ANN001)


286-286: Missing type annotation for function argument line_number

(ANN001)


286-286: Missing type annotation for function argument lines

(ANN001)


303-303: Trailing comma missing

Add trailing comma

(COM812)


339-339: Trailing comma missing

Add trailing comma

(COM812)


356-356: Do not catch blind exception: Exception

(BLE001)


364-364: Trailing comma missing

Add trailing comma

(COM812)


369-369: Trailing comma missing

Add trailing comma

(COM812)


376-376: Trailing comma missing

Add trailing comma

(COM812)


386-386: Trailing comma missing

Add trailing comma

(COM812)


399-399: Trailing comma missing

Add trailing comma

(COM812)


410-410: Trailing comma missing

Add trailing comma

(COM812)


421-421: Unnecessary assignment to result before return statement

Remove unnecessary assignment

(RET504)


424-424: Missing return type annotation for public function evaluate_docstring_description

(ANN201)


424-424: Missing type annotation for function argument func_name

(ANN001)


424-424: Missing type annotation for function argument docstring_start

(ANN001)


424-424: Missing type annotation for function argument parser

(ANN001)


451-451: Trailing comma missing

Add trailing comma

(COM812)


464-464: Trailing comma missing

Add trailing comma

(COM812)


470-470: Missing return type annotation for public function evaluate_docstring_args

(ANN201)


470-470: Missing type annotation for function argument func_name

(ANN001)


470-470: Missing type annotation for function argument docstring_start

(ANN001)


470-470: Missing type annotation for function argument docstring

(ANN001)


470-470: Missing type annotation for function argument parser

(ANN001)


485-485: Trailing comma missing

Add trailing comma

(COM812)


493-493: Unnecessary else after return statement

Remove unnecessary else

(RET505)


503-503: Trailing comma missing

Add trailing comma

(COM812)


515-515: Trailing comma missing

Add trailing comma

(COM812)


530-530: Trailing comma missing

Add trailing comma

(COM812)


541-541: Trailing comma missing

Add trailing comma

(COM812)


550-550: Unnecessary assignment to result before return statement

Remove unnecessary assignment

(RET504)


553-553: Missing return type annotation for public function evaluate_docstring_returns

(ANN201)


553-553: Missing type annotation for function argument func_name

(ANN001)


553-553: Missing type annotation for function argument docstring_start

(ANN001)


553-553: Missing type annotation for function argument docstring

(ANN001)


553-553: Missing type annotation for function argument parser

(ANN001)


579-579: Trailing comma missing

Add trailing comma

(COM812)


598-598: Trailing comma missing

Add trailing comma

(COM812)


610-610: Trailing comma missing

Add trailing comma

(COM812)


623-623: Trailing comma missing

Add trailing comma

(COM812)


639-639: Trailing comma missing

Add trailing comma

(COM812)


651-651: Trailing comma missing

Add trailing comma

(COM812)


658-658: Missing return type annotation for public function is_docstring_delimiter

(ANN201)


658-658: Missing type annotation for function argument line

(ANN001)


670-670: Trailing comma missing

Add trailing comma

(COM812)


672-672: Unnecessary assignment to result before return statement

Remove unnecessary assignment

(RET504)


675-675: Missing return type annotation for public function check_directory

(ANN201)


675-675: Missing type annotation for function argument directory

(ANN001)


675-675: Missing type annotation for function argument exclude_dirs

(ANN001)


715-715: Missing return type annotation for public function main

Add return type annotation: None

(ANN201)


760-760: Trailing comma missing

Add trailing comma

(COM812)


766-766: Trailing comma missing

Add trailing comma

(COM812)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Analyse Code With CodeQL (typescript)
🔇 Additional comments (3)
.github/workflows/scripts/biome_disable_check.py (1)

36-38: 🧹 Nitpick (assertive)

Add Trailing Comma in Regular Expression Compilation

Consistently using trailing commas in multiline data structures enhances readability.

Add a trailing comma in the biome_ignore_pattern compilation:

     biome_ignore_pattern = re.compile(
         r"//\s*biome-ignore.*$", re.IGNORECASE | re.MULTILINE
+    )

Likely invalid or redundant comment.

🧰 Tools
🪛 Ruff (0.8.2)

37-37: Trailing comma missing

Add trailing comma

(COM812)

.flake8 (1)

2-2: 🛠️ Refactor suggestion

Review ignored error codes.

Some ignored errors might hide potential issues:

  • E722: Disabling bare 'except' checks could hide error handling issues
  • F401: Ignoring unused imports reduces code cleanliness

Consider keeping these checks enabled and fixing the underlying issues instead.

pyproject.toml (1)

1-4: LGTM! Well-documented Black configuration.

The configuration follows PEP 8 recommendations with a 79-character line length, and the comment clearly explains the file's purpose.

return result


def match_arguments_to_docstring(function, docstring, line_number):
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Refactor match_arguments_to_docstring to Reduce Complexity

The function match_arguments_to_docstring has a cyclomatic complexity of 11, which exceeds the recommended maximum of 10. High complexity can make the code harder to understand and maintain.

Consider refactoring the function by breaking it into smaller helper functions or simplifying the logic to reduce complexity.

🧰 Tools
🪛 Ruff (0.8.2)

100-100: match_arguments_to_docstring is too complex (11 > 10)

(C901)


100-100: Missing return type annotation for public function match_arguments_to_docstring

(ANN201)


100-100: Missing type annotation for function argument function

(ANN001)


100-100: Missing type annotation for function argument docstring

(ANN001)


100-100: Missing type annotation for function argument line_number

(ANN001)

Comment on lines +138 to +139
for argument_function in arguments_function:
# Track whether the argument is defined
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Unused Loop Variable argument_function

In the loop starting at line 138, the loop variable argument_function is not used within the loop body. Unused variables can lead to confusion.

If the variable is not needed, consider using an underscore _ as a placeholder:

-for argument_function in arguments_function:
+for _ in arguments_function:
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
for argument_function in arguments_function:
# Track whether the argument is defined
for _ in arguments_function:
# Track whether the argument is defined
🧰 Tools
🪛 Ruff (0.8.2)

138-138: Loop control variable argument_function not used within loop body

(B007)

return all_violations


def main():
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Add Return Type Annotation to Function main

The function main is missing a return type annotation. Even if the function does not return a value, it's good practice to indicate this explicitly.

Apply this diff:

-def main():
+def main() -> None:
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
def main():
def main() -> None:
🧰 Tools
🪛 Ruff (0.8.2)

715-715: Missing return type annotation for public function main

Add return type annotation: None

(ANN201)

return result


def evaluate_docstring_description(func_name, docstring_start, parser):
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Add Type Annotations to Function evaluate_docstring_description

The function evaluate_docstring_description lacks type annotations for its parameters and return type.

Apply this diff:

-def evaluate_docstring_description(func_name, docstring_start, parser):
+from typing import List

+def evaluate_docstring_description(func_name: str, docstring_start: int, parser) -> List[Violation]:

Specify the appropriate type for parser if possible.

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Ruff (0.8.2)

424-424: Missing return type annotation for public function evaluate_docstring_description

(ANN201)


424-424: Missing type annotation for function argument func_name

(ANN001)


424-424: Missing type annotation for function argument docstring_start

(ANN001)


424-424: Missing type annotation for function argument parser

(ANN001)

Comment on lines +272 to +290
- name: Run Black Formatter Check
run: |
source venv/bin/activate
black --check .

- name: Run Flake8 Linter
run: |
source venv/bin/activate
flake8 --docstring-convention google --ignore E402,E722,E203,F401,W503 .github

- name: Run pydocstyle
run: |
source venv/bin/activate
pydocstyle --convention=google --add-ignore=D415,D205 .github

- name: Run docstring compliance check
run: |
source venv/bin/activate
python .github/workflows/scripts/check_docstrings.py --directories .github
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Refactor repeated virtual environment activation.

The virtual environment activation is repeated in multiple steps. Consider using a composite action or job outputs to reduce duplication.

      - name: Set up Python environment
        id: setup
        run: |
          python3 -m venv venv
          echo "VENV_PATH=$(pwd)/venv" >> $GITHUB_OUTPUT

      - name: Run Checks
        run: |
          source ${{ steps.setup.outputs.VENV_PATH }}/bin/activate
          black --check .
          flake8 --docstring-convention google --ignore E402,E722,E203,F401,W503 .github
          pydocstyle --convention=google --add-ignore=D415,D205 .github
          python .github/workflows/scripts/check_docstrings.py --directories .github

Copy link

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

Copy link

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

@palisadoes palisadoes merged commit 8a5b43e into PalisadoesFoundation:develop-postgres Jan 12, 2025
15 of 16 checks passed
@palisadoes palisadoes deleted the lint branch January 12, 2025 20:11
PurnenduMIshra129th pushed a commit to PurnenduMIshra129th/talawa-api that referenced this pull request Jan 14, 2025
* Added GitHub Actions python script linter

* Fixed reference

* Linted
@coderabbitai coderabbitai bot mentioned this pull request Feb 18, 2025
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ignore-sensitive-files-pr The contributor has a legitimate reason for editiing protected files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant