-
-
Save thegreyd/4c13e948f6decacf9af528669e9a2f54 to your computer and use it in GitHub Desktop.
Review release configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import requests | |
from ruamel import yaml | |
import sys | |
versions = ["4.10", "4.11", "4.12", "4.13", "4.14"] | |
def get_data(): | |
stream_permits = {} | |
group_info = {} | |
for version in versions: | |
releases = requests.get(f'https://raw.githubusercontent.com/openshift/ocp-build-data/openshift-{version}/releases.yml').text | |
content = yaml.safe_load(releases) | |
stream_permits[version] = content['releases']['stream']['assembly']['permits'] | |
group = requests.get(f'https://raw.githubusercontent.com/openshift/ocp-build-data/openshift-{version}/group.yml').text | |
group_info[version] = yaml.safe_load(group) | |
return stream_permits, group_info | |
def get_permits(): | |
permits_overview = {} | |
for version in stream_permits: | |
for permit in stream_permits[version]: | |
code = permit['code'] | |
component = permit['component'] | |
if not code in permits_overview: | |
permits_overview[code] = {} | |
if not component in permits_overview[code]: | |
permits_overview[code][component] = [] | |
permits_overview[code][component].append(version) | |
return permits_overview | |
def get_frozen(): | |
frozen = {} | |
for version in group_info: | |
freeze = group_info[version]["freeze_automation"] | |
if not freeze in frozen: | |
frozen[freeze] = [] | |
frozen[freeze].append(version) | |
return frozen | |
def get_golang_requirements(): | |
golang = {} | |
for version in group_info: | |
check = group_info[version]['check_golang_versions'] | |
if not check in golang: | |
golang[check] = [] | |
golang[check].append(version) | |
return golang | |
def get_threshold(): | |
threshold = {} | |
for version in group_info: | |
hours = group_info[version]['scan_freshness']['threshold_hours'] | |
if not hours in threshold: | |
threshold[hours] = [] | |
threshold[hours].append(version) | |
return threshold | |
stream_permits, group_info = get_data() | |
overview = {} | |
overview['stream_permits'] = get_permits() | |
overview['freeze_automation'] = get_frozen() | |
overview['check_golang_versions'] = get_golang_requirements() | |
overview['scan_freshness.threshold_hours'] = get_threshold() | |
yaml.dump(overview, sys.stdout) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment