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

[Ellipsis] Create ellipsis Dockerfile #14

Merged
merged 1 commit into from Mar 9, 2024

Conversation

ellipsis-dev[bot]
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot commented Mar 9, 2024

Summary:

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

Issue: #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:
  • The base image. Use FROM python:3.10 to use the Python 3.10 image.
  • The working directory. Use WORKDIR /app to set the working directory to /app.
  • The installation of Git. Use RUN apt-get update && apt-get install -y git to install Git.
  • The copying of the code into the container. Use COPY . /app to copy the code into the working directory.
  • The installation of the Python package dependencies. Use RUN pip install -r requirements.txt to install the dependencies. Note that you will need to create a requirements.txt file that lists all the dependencies from the setup.py file.

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.
2. 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:

  • The version. Use version: 1.3 to set the version.
  • The about section. Use the provided text for the about section.
  • The build section. This section should point to the Dockerfile and include the build commands as specified in the feature request.
  • The PR review section. This section should include the confidence threshold and the PR review rules as specified in the feature request.

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.

@MarkEdmondson1234 MarkEdmondson1234 merged commit 8864ba2 into main Mar 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant