Skip to content

Commit febc8c9

Browse files
committed
Change modifiers S3 artifact metadata to be a list of features
Signed-off-by: Tobias Wolf <wolf@b1-systems.de> On-behalf-of: SAP <tobias.wolf@sap.com>
1 parent ab55b23 commit febc8c9

File tree

5 files changed

+23
-7
lines changed

5 files changed

+23
-7
lines changed

.github/actions/setup/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Installs the given GardenLinux Python library
44
inputs:
55
version:
66
description: GardenLinux Python library version
7-
default: "0.10.11"
7+
default: "0.10.12"
88
python_version:
99
description: Python version to setup
1010
default: "3.13"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "gardenlinux"
3-
version = "0.10.11"
3+
version = "0.10.12"
44
description = "Contains tools to work with the features directory of gardenlinux, for example deducting dependencies from feature sets or validating cnames"
55
authors = ["Garden Linux Maintainers <contact@gardenlinux.io>"]
66
license = "Apache-2.0"

src/gardenlinux/features/cname.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,20 @@ def feature_set_platform(self) -> str:
276276
"Only one platform is supported"
277277
return platforms[0]
278278

279+
@property
280+
def feature_set_list(self) -> List[str]:
281+
"""
282+
Returns the feature set for the cname parsed.
283+
284+
:return: (list) Feature set list of the cname
285+
:since: 0.10.12
286+
"""
287+
288+
if self._feature_set_cached is not None:
289+
return self._feature_set_cached.split(",")
290+
291+
return Parser().filter_as_list(self.flavor)
292+
279293
@property
280294
def platform(self) -> str:
281295
"""

src/gardenlinux/s3/s3_artifacts.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ def upload_from_directory(
128128
)
129129

130130
arch = cname_object.arch
131-
feature_list = cname_object.feature_set
131+
feature_set_list = cname_object.feature_set_list
132132
release_timestamp = stat(release_file).st_ctime
133133
requirements_file = artifacts_dir.joinpath(f"{base_name}.requirements")
134134
require_uefi = None
@@ -155,10 +155,10 @@ def upload_from_directory(
155155
)
156156

157157
if require_uefi is None:
158-
require_uefi = "_usi" in feature_list
158+
require_uefi = "_usi" in feature_set_list
159159

160160
if secureboot is None:
161-
secureboot = "_trustedboot" in feature_list
161+
secureboot = "_trustedboot" in feature_set_list
162162

163163
# RegEx for S3 supported characters
164164
re_object = re.compile("[^a-zA-Z0-9\\s+\\-=.\\_:/@]")
@@ -182,7 +182,7 @@ def upload_from_directory(
182182
"build_timestamp": datetime.fromtimestamp(release_timestamp).isoformat(),
183183
"gardenlinux_epoch": version_epoch,
184184
"logs": None,
185-
"modifiers": cname_object.feature_set,
185+
"modifiers": feature_set_list,
186186
"require_uefi": require_uefi,
187187
"secureboot": secureboot,
188188
"published_image_metadata": None,

tests/s3/constants.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
build_timestamp: '{build_timestamp}'
2020
gardenlinux_epoch: '1234'
2121
logs: null
22-
modifiers: _usi,_trustedboot
22+
modifiers:
23+
- _usi
24+
- _trustedboot
2325
require_uefi: true
2426
secureboot: true
2527
published_image_metadata: null

0 commit comments

Comments
 (0)