misc.python.materialize.console_version_matrix
Version matrix for console testing - uses existing version_list infrastructure.
1# Copyright Materialize, Inc. and contributors. All rights reserved. 2# 3# Use of this software is governed by the Business Source License 4# included in the LICENSE file at the root of this repository. 5# 6# As of the Change Date specified in that file, in accordance with 7# the Business Source License, use of this software will be governed 8# by the Apache License, Version 2.0. 9 10""" 11Version matrix for console testing - uses existing version_list infrastructure. 12""" 13 14from materialize.mz_version import MzVersion 15from materialize.version_list import ( 16 get_published_minor_mz_versions, 17 get_self_managed_versions, 18) 19 20 21def get_console_test_versions() -> dict[str, MzVersion]: 22 """ 23 Get all versions that should be tested for console. 24 25 Uses existing version_list.py infrastructure to determine: 26 - latest: Most recent minor version 27 - previous: One minor version back 28 - older: Two minor versions back 29 - self-managed: Latest self-managed version from Helm chart 30 31 Returns: 32 Dictionary mapping test name to version 33 34 Note: Uses get_published_minor_mz_versions which verifies Docker images exist. 35 """ 36 # Get the latest patch version for each minor version (with Docker image verification) 37 # Limit to 5 versions for speed 38 minor_versions = get_published_minor_mz_versions(newest_first=True, limit=5) 39 40 assert ( 41 len(minor_versions) >= 3 42 ), f"Expected at least 3 minor versions, got {len(minor_versions)}" 43 44 latest = minor_versions[0] 45 previous = minor_versions[1] 46 older = minor_versions[2] 47 48 # Self-managed: Get the latest self-managed version from Helm chart 49 sm_versions = get_self_managed_versions() 50 assert sm_versions, "Expected at least one self-managed version" 51 self_managed = max(sm_versions) 52 53 return { 54 "latest": latest, 55 "previous": previous, 56 "older": older, 57 "self-managed": self_managed, 58 }
def
get_console_test_versions() -> dict[str, materialize.mz_version.MzVersion]:
22def get_console_test_versions() -> dict[str, MzVersion]: 23 """ 24 Get all versions that should be tested for console. 25 26 Uses existing version_list.py infrastructure to determine: 27 - latest: Most recent minor version 28 - previous: One minor version back 29 - older: Two minor versions back 30 - self-managed: Latest self-managed version from Helm chart 31 32 Returns: 33 Dictionary mapping test name to version 34 35 Note: Uses get_published_minor_mz_versions which verifies Docker images exist. 36 """ 37 # Get the latest patch version for each minor version (with Docker image verification) 38 # Limit to 5 versions for speed 39 minor_versions = get_published_minor_mz_versions(newest_first=True, limit=5) 40 41 assert ( 42 len(minor_versions) >= 3 43 ), f"Expected at least 3 minor versions, got {len(minor_versions)}" 44 45 latest = minor_versions[0] 46 previous = minor_versions[1] 47 older = minor_versions[2] 48 49 # Self-managed: Get the latest self-managed version from Helm chart 50 sm_versions = get_self_managed_versions() 51 assert sm_versions, "Expected at least one self-managed version" 52 self_managed = max(sm_versions) 53 54 return { 55 "latest": latest, 56 "previous": previous, 57 "older": older, 58 "self-managed": self_managed, 59 }
Get all versions that should be tested for console.
Uses existing version_list.py infrastructure to determine:
- latest: Most recent minor version
- previous: One minor version back
- older: Two minor versions back
- self-managed: Latest self-managed version from Helm chart
Returns: Dictionary mapping test name to version
Note: Uses get_published_minor_mz_versions which verifies Docker images exist.