diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ddf504..0e17861 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Changelog -## [1.2.0](../../releases/tag/v1.2.0) - 2024-12-05 +## [1.2.1](../../releases/tag/v1.2.1) - 2024-12-05 + +### Changed + +- Changed `ACTOR_BUILD_TAGS` to be a comma-separated list variable + +## [1.2.0](../../releases/tag/v1.2.0) - 2024-12-04 ### Added diff --git a/pyproject.toml b/pyproject.toml index b2adbe2..e83408d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "apify_shared" -version = "1.2.0" +version = "1.2.1" description = "Tools and constants shared across Apify projects." readme = "README.md" license = { text = "Apache Software License" } diff --git a/src/apify_shared/consts.py b/src/apify_shared/consts.py index 3773339..ad908ce 100644 --- a/src/apify_shared/consts.py +++ b/src/apify_shared/consts.py @@ -327,7 +327,6 @@ class MetaOrigin(str, Enum): # Actor env vars ActorEnvVars.BUILD_ID, ActorEnvVars.BUILD_NUMBER, - ActorEnvVars.BUILD_TAGS, ActorEnvVars.DEFAULT_DATASET_ID, ActorEnvVars.DEFAULT_KEY_VALUE_STORE_ID, ActorEnvVars.DEFAULT_REQUEST_QUEUE_ID, @@ -373,3 +372,11 @@ class MetaOrigin(str, Enum): ] STRING_ENV_VARS: list[STRING_ENV_VARS_TYPE] = list(get_args(STRING_ENV_VARS_TYPE)) + +COMMA_SEPARATED_LIST_ENV_VARS_TYPE = Literal[ + ActorEnvVars.BUILD_TAGS, +] + +COMMA_SEPARATED_LIST_ENV_VARS: list[COMMA_SEPARATED_LIST_ENV_VARS_TYPE] = list( + get_args(COMMA_SEPARATED_LIST_ENV_VARS_TYPE) +) diff --git a/tests/unit/test_consts.py b/tests/unit/test_consts.py index 4da51a2..3874f60 100644 --- a/tests/unit/test_consts.py +++ b/tests/unit/test_consts.py @@ -5,6 +5,7 @@ from apify_shared.consts import ( BOOL_ENV_VARS, + COMMA_SEPARATED_LIST_ENV_VARS, DATETIME_ENV_VARS, FLOAT_ENV_VARS, INTEGER_ENV_VARS, @@ -20,14 +21,28 @@ class TestConsts: def test_env_vars_types_unique(self: TestConsts) -> None: """Test that env var types don't contain any item twice.""" - for env_var_type in [BOOL_ENV_VARS, DATETIME_ENV_VARS, FLOAT_ENV_VARS, INTEGER_ENV_VARS, STRING_ENV_VARS]: + for env_var_type in [ + BOOL_ENV_VARS, + COMMA_SEPARATED_LIST_ENV_VARS, + DATETIME_ENV_VARS, + FLOAT_ENV_VARS, + INTEGER_ENV_VARS, + STRING_ENV_VARS, + ]: assert isinstance(env_var_type, list) assert len(env_var_type) == len(set(env_var_type)) def test_env_vars_types_do_not_overlap(self: TestConsts) -> None: """Test that there is no overlap between env var types.""" for first, second in itertools.combinations( - [BOOL_ENV_VARS, DATETIME_ENV_VARS, FLOAT_ENV_VARS, INTEGER_ENV_VARS, STRING_ENV_VARS], + [ + BOOL_ENV_VARS, + COMMA_SEPARATED_LIST_ENV_VARS, + DATETIME_ENV_VARS, + FLOAT_ENV_VARS, + INTEGER_ENV_VARS, + STRING_ENV_VARS, + ], r=2, ): assert isinstance(first, list) @@ -38,6 +53,7 @@ def test_env_vars_types_defined_for_all_env_vars(self: TestConsts) -> None: """Test that all env vars from `ApifyEnvVars` and `ActorEnvVars` have a defined type.""" env_vars_from_types = set( list(BOOL_ENV_VARS) + + list(COMMA_SEPARATED_LIST_ENV_VARS) + list(DATETIME_ENV_VARS) + list(FLOAT_ENV_VARS) + list(INTEGER_ENV_VARS)