diff --git a/.github/workflows/build-dev.yaml b/.github/workflows/build-dev.yaml index 05b9f0f5..a684e60f 100644 --- a/.github/workflows/build-dev.yaml +++ b/.github/workflows/build-dev.yaml @@ -73,7 +73,7 @@ jobs: with: dockerfile: Dockerfile - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Run pre-commit (all files) diff --git a/.github/workflows/build-production.yaml b/.github/workflows/build-production.yaml index 4e2e3caf..e76209a7 100644 --- a/.github/workflows/build-production.yaml +++ b/.github/workflows/build-production.yaml @@ -120,7 +120,7 @@ jobs: with: dockerfile: Dockerfile - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Run pre-commit (all files) diff --git a/.github/workflows/build-staging.yaml b/.github/workflows/build-staging.yaml index d01f7ded..91ed0659 100644 --- a/.github/workflows/build-staging.yaml +++ b/.github/workflows/build-staging.yaml @@ -142,7 +142,7 @@ jobs: with: dockerfile: Dockerfile - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Run pre-commit (all files) diff --git a/viewer/target_loader.py b/viewer/target_loader.py index 4eb535e4..2a6c466e 100644 --- a/viewer/target_loader.py +++ b/viewer/target_loader.py @@ -191,24 +191,25 @@ def _validate_bundle_against_mode(config_yaml: Dict[str, Any]) -> Optional[str]: # PRODUCTION mode (strict) - # Initial concern - the 'xca_version'. + # Initial concern - the loader's git information. # It must not be 'dirty' and must have a valid 'tag'. + xca_git_info_key = "xca_git_info" base_error_msg = "Stack is in PRODUCTION mode - and " try: - xca_version = config_yaml["xca_version"] + xca_git_info = config_yaml[xca_git_info_key] except KeyError: - return f"{base_error_msg} 'xca_version' is a required configuration property" + return f"{base_error_msg} '{xca_git_info_key}' is a required configuration property" - logger.info("xca_version: %s", xca_version) + logger.info("%s: %s", xca_git_info_key, xca_git_info) - if "dirty" not in xca_version: - return f"{base_error_msg} 'xca_version' is missing the 'dirty' property" - if xca_version["dirty"]: - return f"{base_error_msg} 'xca_version->dirty' must be False" + if "dirty" not in xca_git_info: + return f"{base_error_msg} '{xca_git_info_key}' has no 'dirty' property" + if xca_git_info["dirty"]: + return f"{base_error_msg} '{xca_git_info_key}->dirty' must be False" - if "tag" not in xca_version: - return f"{base_error_msg} 'xca_version' is missing the 'tag' property" - xca_version_tag: str = str(xca_version["tag"]) + if "tag" not in xca_git_info: + return f"{base_error_msg} '{xca_git_info_key}' has no 'tag' property" + xca_version_tag: str = str(xca_git_info["tag"]) tag_parts: List[str] = xca_version_tag.split(".") tag_valid: bool = True if len(tag_parts) in {2, 3}: @@ -219,7 +220,7 @@ def _validate_bundle_against_mode(config_yaml: Dict[str, Any]) -> Optional[str]: else: tag_valid = False if not tag_valid: - return f"{base_error_msg} 'xca_version->tag' must be 'N.N[.N]'. Got '{xca_version_tag}'" + return f"{base_error_msg} '{xca_git_info_key}->tag' must be 'N.N[.N]'. Got '{xca_version_tag}'" # OK if we get here return None