From 2fab6d75f514f5396116699eb0c2d810e2a298a0 Mon Sep 17 00:00:00 2001 From: Magnus Walbeck <magnus.walbeck@walbeck.it> Date: Thu, 1 Jul 2021 12:54:21 +0200 Subject: [PATCH] Handle version numbers with suffix and no hyphen. Add support for ENV using the recommended syntax with = --- .gitignore | 2 ++ determine_docker_tags/__init__.py | 9 ++++++++- pyproject.toml | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2a42a83..e8145eb 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ __pycache__ .pytest_cache .coverage dist +Dockerfile.test +.tags diff --git a/determine_docker_tags/__init__.py b/determine_docker_tags/__init__.py index 16e55ed..6ecbd0e 100644 --- a/determine_docker_tags/__init__.py +++ b/determine_docker_tags/__init__.py @@ -79,13 +79,20 @@ def main(): with open(dockerfile_path) as dockerfile: for line in dockerfile: - if re.search(rf"ENV {app_name}_VERSION .*", line): + if re.search(rf"ENV {app_name}_VERSION=.*", line): + version_string = line[line.find("=", 4) + 1 :].strip() + break + elif re.search(rf"ENV {app_name}_VERSION .*", line): version_string = line[line.find(" ", 4) + 1 :].strip() break if version_string[0] == "v": version_string = version_string[1:] + if "-" not in version_string and re.search(r"\d*\.\d*\.\d*\w*", version_string): + split_version_string = re.split(r"(\d*\.\d*\.\d*)(\w*.*)", version_string) + version_string = split_version_string[1] + "-" + split_version_string[2] + tags = determine_tags(version_string, app_env, include_major, include_suffix) elif version_type == "docker_from": diff --git a/pyproject.toml b/pyproject.toml index 7101a3c..2f1b6ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "determine-docker-tags" -version = "0.1.6" +version = "0.1.7" description = "A small program to determine docker image tags" authors = ["Magnus Walbeck <magnus.walbeck@walbeck.it>"] readme = "README.md"