From fce0b7f16de0c9fb29edcb923b63cd3b6db05f91 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 8 Apr 2024 10:23:31 +0200 Subject: Merging upstream version 0.10.0. Signed-off-by: Daniel Baumann --- .github/workflows/pr-management.yml | 12 ++++++------ eos_downloader/cli/get/commands.py | 4 +++- eos_downloader/eos.py | 3 +-- eos_downloader/object_downloader.py | 7 ++++++- pyproject.toml | 10 +++++----- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.github/workflows/pr-management.yml b/.github/workflows/pr-management.yml index dc30ccf..ec36edc 100644 --- a/.github/workflows/pr-management.yml +++ b/.github/workflows/pr-management.yml @@ -16,10 +16,10 @@ jobs: python-version: ["3.8", "3.9", "3.10"] steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - uses: pre-commit-ci/lite-action@v1.0.1 + - uses: pre-commit-ci/lite-action@v1.0.2 compiling: name: Run installation process and code compilation supported Python versions @@ -33,7 +33,7 @@ jobs: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -61,7 +61,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} @@ -84,7 +84,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} @@ -107,7 +107,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} diff --git a/eos_downloader/cli/get/commands.py b/eos_downloader/cli/get/commands.py index b4525fe..498473a 100644 --- a/eos_downloader/cli/get/commands.py +++ b/eos_downloader/cli/get/commands.py @@ -128,6 +128,7 @@ def eos( console = Console() # Get from Context token = ctx.obj["token"] + is_latest: bool = False if token is None or token == "": console.print( "❗ Token is unset ! Please configure ARISTA_TOKEN or use --token option", @@ -156,6 +157,7 @@ def eos( my_download.authenticate() elif latest: + is_latest = True my_download = eos_downloader.eos.EOSDownloader( image=image_type, software="EOS", @@ -180,7 +182,7 @@ def eos( my_download.download_local(file_path=output, checksum=True) if import_docker: - my_download.docker_import(image_name=docker_name) + my_download.docker_import(image_name=docker_name, is_latest=is_latest) console.print("✅ processing done !") sys.exit(0) diff --git a/eos_downloader/eos.py b/eos_downloader/eos.py index 716992f..ada0eb6 100644 --- a/eos_downloader/eos.py +++ b/eos_downloader/eos.py @@ -137,8 +137,7 @@ class EOSDownloader(ObjectDownloader): selected_branch = EosVersion.from_str(BASE_BRANCH_STR) for branch in self._get_branches(with_rtype=rtype): branch = EosVersion.from_str(branch) - if branch > selected_branch: - selected_branch = branch + selected_branch = max(selected_branch, branch) return selected_branch def get_eos_versions( diff --git a/eos_downloader/object_downloader.py b/eos_downloader/object_downloader.py index d7b1418..30cf9df 100644 --- a/eos_downloader/object_downloader.py +++ b/eos_downloader/object_downloader.py @@ -547,7 +547,9 @@ class ObjectDownloader: if noztp: self._disable_ztp(file_path=file_path) - def docker_import(self, image_name: str = "arista/ceos") -> None: + def docker_import( + self, image_name: str = "arista/ceos", is_latest: bool = False + ) -> None: """ Import docker container to your docker server. @@ -561,6 +563,9 @@ class ObjectDownloader: logger.info(f"Importing image {self.filename} to {docker_image}") console.print(f"🚀 Importing image {self.filename} to {docker_image}") os.system(f"$(which docker) import {self.filename} {docker_image}") + if is_latest: + console.print(f"🚀 Configuring {docker_image}:{self.version} to be latest") + os.system(f"$(which docker) tag {docker_image} {image_name}:latest") for filename in glob.glob(f"{self.filename}*"): try: os.remove(filename) diff --git a/pyproject.toml b/pyproject.toml index f98c4ee..f125def 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "eos_downloader" -version = "v0.9.0" +version = "v0.10.0" readme = "README.md" authors = [{ name = "Thomas Grimonet", email = "thomas.grimonet@gmail.com" }] maintainers = [ @@ -22,7 +22,7 @@ dependencies = [ "scp", "tqdm", "loguru", - "rich>=13.5.2,<13.7.0", + "rich>=13.5.2,<13.8.0", "cvprac>=1.0.7", "click~=8.1.6", "click-help-colors~=0.9", @@ -51,8 +51,8 @@ requires-python = ">=3.8" [project.optional-dependencies] dev = [ - "isort==5.12.0", - "mypy==1.5.1", + "mypy==1.8.0", + "isort==5.13.2", "mypy-extensions>=0.4.3", "pre-commit>=2.20.0", "pylint", @@ -94,7 +94,7 @@ namespaces = false # Version ################################ [tool.bumpver] -current_version = "0.9.0" +current_version = "0.10.0" version_pattern = "MAJOR.MINOR.PATCH" commit_message = "bump: Version {old_version} -> {new_version}" commit = true -- cgit v1.2.3