Skip to content

Commit

Permalink
get rid of auto in canonical_builders_from_upstream (#669)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ximinhan authored Jun 25, 2024
1 parent 3a82351 commit 6f5e6dd
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 93 deletions.
22 changes: 2 additions & 20 deletions artcommon/artcommonlib/build_util.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
from datetime import datetime
from typing import List, Optional, Iterable, Dict

from artcommonlib import logutil
from artcommonlib.model import Missing
from artcommonlib.release_util import isolate_assembly_in_release
from doozerlib.release_schedule import ReleaseSchedule

LOGGER = logutil.get_logger(__name__)

Expand Down Expand Up @@ -61,25 +58,10 @@ def canonical_builders_enabled(canonical_builders_from_upstream, runtime) -> boo
# Default case: override using ART's config
return False

elif canonical_builders_from_upstream == 'auto':
# canonical_builders_from_upstream set to 'auto': rebase according to release schedule
try:
feature_freeze_date = ReleaseSchedule(runtime).get_ff_date()
return datetime.now() < feature_freeze_date
except ChildProcessError:
# Could not access Gitlab: display a warning and fallback to default
LOGGER.warning('Failed retrieving release schedule from Gitlab: fallback to using ART\'s config')
return False
except ValueError as e:
# A GITLAB token env var was not provided: display a warning and fallback to default
LOGGER.warning(f'Fallback to default ART config: {e}')
return False

elif canonical_builders_from_upstream in ['on', True]:
# yaml parser converts bare 'on' to True, same for 'off' and False
elif canonical_builders_from_upstream is True:
return True

elif canonical_builders_from_upstream in ['off', False]:
elif canonical_builders_from_upstream is False:
return False

else:
Expand Down
49 changes: 0 additions & 49 deletions doozer/doozerlib/release_schedule.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -610,9 +610,7 @@ def test_generate_osbs_image_config_with_cachito_enabled(self, is_dir: Mock):
self.assertEqual(actual["remote_sources"][0]["remote_source"]["pkg_managers"], ["gomod"])
self.assertEqual(actual["remote_sources"][0]["remote_source"]["flags"], ["gomod-vendor-check"])

@patch('artcommonlib.build_util.datetime')
@patch('artcommonlib.build_util.ReleaseSchedule')
def test_canonical_builders_enabled(self, release_schedule, mock_datetime):
def test_canonical_builders_enabled(self):
# canonical_builders_from_upstream not defined
self.img_dg.config.canonical_builders_from_upstream = Missing
self.assertEqual(False, self.img_dg._canonical_builders_enabled())
Expand All @@ -627,23 +625,6 @@ def test_canonical_builders_enabled(self, release_schedule, mock_datetime):
self.img_dg.runtime.group_config.canonical_builders_from_upstream = True
self.assertEqual(False, self.img_dg._canonical_builders_enabled())

# canonical_builders_from_upstream = 'on' in image config (override)
self.img_dg.config.canonical_builders_from_upstream = 'on'
self.img_dg.runtime.group_config.canonical_builders_from_upstream = False
self.assertEqual(True, self.img_dg._canonical_builders_enabled())

# canonical_builders_from_upstream = 'auto'; current time < feature freeze
self.img_dg.config.canonical_builders_from_upstream = 'auto'
release_schedule.return_value.get_ff_date.return_value = datetime.datetime(2023, 6, 1, 10, 30, 15)
mock_datetime.now.return_value = datetime.datetime(2023, 5, 1, 10, 30, 15)
self.assertEqual(True, self.img_dg._canonical_builders_enabled())

# canonical_builders_from_upstream = 'auto'; current time > feature freeze
self.img_dg.config.canonical_builders_from_upstream = 'auto'
release_schedule.return_value.get_ff_date.return_value = datetime.datetime(2023, 6, 1, 10, 30, 15)
mock_datetime.now.return_value = datetime.datetime(2023, 7, 1, 10, 30, 15)
self.assertEqual(False, self.img_dg._canonical_builders_enabled())

def test_update_image_config(self):
self.img_dg.metadata = MagicMock()
# 'when' clause matching upstream rhel version: override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,7 @@
},
"urls-": {},
"canonical_builders_from_upstream": {
"description": "Assert our base images, or listen to upstream",
"enum": [true, false, "auto", "off", "no", "on", "yes"]
"type": "boolean"
},
"canonical_builders_from_upstream?": {
"$ref": "#/properties/canonical_builders_from_upstream"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,7 @@
},
"content-": {},
"canonical_builders_from_upstream": {
"description": "Override the facility to adhere to upstream suggestions for base images",
"enum": [true, false, "auto", "off", "no", "on", "yes"]
"type": "boolean"
},
"canonical_builders_from_upstream?": {
"$ref": "#/properties/canonical_builders_from_upstream"
Expand Down

0 comments on commit 6f5e6dd

Please sign in to comment.