sunholo-data / sunholo-py

A python library to enable GenAI and LLMOps within Google Cloud Platform
https://dev.sunholo.com/
Apache License 2.0
13 stars 2 forks source link

[Ellipsis] Create ellipsis Dockerfile #14

Closed ellipsis-dev[bot] closed 8 months ago

ellipsis-dev[bot] commented 8 months ago

Summary:

:warning: We couldn't build/test your project to verify our changes. Add a Dockerfile to significantly improve code quality.

Issue: https://github.com/sunholo-data/sunholo-py/issues/13

Implementation:

  1. Create Dockerfile
    • Create a new file in the root directory of the repository named ellipsis.Dockerfile. This file will be used to set up the Docker environment for the Ellipsis tool. The Dockerfile should include the following:

Here is an example of what the Dockerfile might look like:

FROM python:3.10
WORKDIR /app
RUN apt-get update && apt-get install -y git
COPY . /app
RUN pip install -r requirements.txt

Remember, do not include an ENTRYPOINT or CMD in the Dockerfile.

  1. Create ellipsis.yaml file
    • Create a new file in the root directory of the repository named ellipsis.yaml. This file will be used to configure the Ellipsis tool. The ellipsis.yaml file should include the following:

Here is an example of what the ellipsis.yaml file might look like:

version: 1.3

about:
  - "This is a codebase for a code generation tool called Ellipsis. It can review GitHub pull requests, answer questions about code, and even generate bug fixes!"
  - "We're migrating away from using AWS CDK. Our infrastructure is no longer part of this repository."

build:
  file: "ellipsis.Dockerfile"
  commands: 
    - name: "lint_fix"
      description: "Lints the code in fix mode, which will fix some errors, format some files, and throw and error when there are violations."
      command: "./scripts/lint.sh"
    - name: "unit_tests"
      description: "Runs the unit tests."
      command: ./scripts/unit_test.sh

pr_review:
  confidence_threshold: 0.7
  rules:
    - "Code should be DRY (Dont Repeat Yourself)"
    - "There should no secrets or credentials in the code"
    - "Extremely Complicated Code Needs Comments"
    - "Use Descriptive Variable and Constant Names"
    - "API routes must have error handling, they shouldn't intentionally return a HTTP 500"
    - "Use retries when calling external API services"
    - "Don't log sensitive data"
    - "Follow the Single Responsibility Principle"
    - "Function and Method Naming Should Follow Consistent Patterns"
Report: Step Result Details
1
Create DockerfileCreated the ellipsis.Dockerfile with the specified details.
2
Create ellipsis.yaml fileCreated the ellipsis.yaml file with the specified details.

Something look wrong?: If this Pull Request doesn't contain the expected changes, add more information to #13. Then, add the ellipsis:create label to try again. For more information, check the documentation.