mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 08:44:59 +00:00
aider: Added check for existing Docker image before building.
# Context: USER: in `build_docker` check if the image is already built and return ASSISTANT: To check if the Docker image is already built and return if it exists, we can use the `docker images` command and parse its output. Here's how to modify the `build_docker` function: ```python benchmark/benchmark.py <<<<<<< ORIGINAL def build_docker(): command = [ "docker", "build", "--quiet", "-t", "benchmark", "-f", "benchmark/Dockerfile", "/dev/null", ] print(" ".join(command)) try: result = subprocess.run( command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, ) res = result.stdout print(res) except subprocess.CalledProcessError as e: res = f"Failed to build Docker image: {e.output}" return res ======= def build_docker(): image_name = "benchmark" check_command = ["docker", "images", "-q", image_name] check_result = subprocess.run(check_command, stdout=subprocess.PIPE, text=True) if check_result.stdout.strip(): print(f"Docker image '{image_name}' already exists, skipping build.") return command = [ "docker", "build", "--quiet", "-t", image_name, "-f", "benchmark/Dockerfile", "/dev/null", ] print(" ".join(command)) try: result = subprocess.run( command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, ) res = result.stdout print(res) except subprocess.CalledProcessError as e: res = f"Failed to build Docker image: {e.output}" return res >>>>>>> UPDATED ``` This modification adds a check for the existence of the Docker image before attempting to build it. If the image already exists, the function prints a message and returns early.
This commit is contained in:
parent
5e2681ec9d
commit
a109ab1890
1 changed files with 8 additions and 1 deletions
|
@ -386,12 +386,19 @@ def run_unit_tests(testdir, history_fname):
|
||||||
|
|
||||||
|
|
||||||
def build_docker():
|
def build_docker():
|
||||||
|
image_name = "benchmark"
|
||||||
|
check_command = ["docker", "images", "-q", image_name]
|
||||||
|
check_result = subprocess.run(check_command, stdout=subprocess.PIPE, text=True)
|
||||||
|
if check_result.stdout.strip():
|
||||||
|
print(f"Docker image '{image_name}' already exists, skipping build.")
|
||||||
|
return
|
||||||
|
|
||||||
command = [
|
command = [
|
||||||
"docker",
|
"docker",
|
||||||
"build",
|
"build",
|
||||||
"--quiet",
|
"--quiet",
|
||||||
"-t",
|
"-t",
|
||||||
"benchmark",
|
image_name,
|
||||||
"-f",
|
"-f",
|
||||||
"benchmark/Dockerfile",
|
"benchmark/Dockerfile",
|
||||||
"/dev/null",
|
"/dev/null",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue