--- a/buildfarm/release/releasetasks_graph_gen.py
+++ b/buildfarm/release/releasetasks_graph_gen.py
@@ -9,29 +9,28 @@ import yaml
site.addsitedir(os.path.join(os.path.dirname(__file__), "../../lib/python"))
from kickoff import get_partials, ReleaseRunner, make_task_graph_strict_kwargs
from kickoff import get_l10n_config, get_en_US_config, get_mar_signing_format
from kickoff import bump_version
from kickoff.tc import resolve_task, submit_parallelized
from release.versions import getAppVersion
-from util.file import load_config, get_config
from taskcluster import Index, Queue
from taskcluster.utils import slugId
log = logging.getLogger(__name__)
def main(release_runner_config, release_config, tc_config):
- api_root = release_runner_config.get('api', 'api_root')
- username = release_runner_config.get('api', 'username')
- password = release_runner_config.get('api', 'password')
+ api_root = release_runner_config['api']['api_root']
+ username = release_runner_config['api']['username']
+ password = release_runner_config['api']['password']
queue = Queue(tc_config)
index = Index(tc_config)
rr = ReleaseRunner(api_root=api_root, username=username, password=password)
log.info('Generating task graph')
kwargs = {
# release-runner.ini
@@ -166,70 +165,69 @@ def get_unique_release_items(options, tc
unique_items['partials'] = options.partials
# TODO have ability to pass l10n_changesets whether based on previous release or new one
unique_items["l10n_changesets"] = {}
return unique_items
-def get_release_items_from_runner_config(release_runner_ini):
+def get_release_items_from_runner_config(release_runner_config):
ini_items = {}
- ini_items['signing_pvt_key'] = release_runner_ini.get('signing', 'pvt_key')
- ini_items['docker_worker_key'] = release_runner_ini.get('release-runner', 'docker_worker_key')
- ini_items['balrog_username'] = release_runner_ini.get("balrog", "username")
- ini_items['balrog_password'] = release_runner_ini.get("balrog", "password")
- ini_items['beetmover_aws_access_key_id'] = release_runner_ini.get("beetmover", "aws_access_key_id")
- ini_items['beetmover_aws_secret_access_key'] = release_runner_ini.get("beetmover", "aws_secret_access_key")
- ini_items['extra_balrog_submitter_params'] = get_config(release_runner_ini, "balrog",
- "extra_balrog_submitter_params", None)
+ ini_items['signing_pvt_key'] = release_runner_config['signing']['pvt_key']
+ ini_items['docker_worker_key'] = release_runner_config['release-runner']['docker_worker_key']
+ ini_items['balrog_username'] = release_runner_config["balrog"]["username"]
+ ini_items['balrog_password'] = release_runner_config["balrog"]["password"]
+ ini_items['beetmover_aws_access_key_id'] = release_runner_config["beetmover"]["aws_access_key_id"]
+ ini_items['beetmover_aws_secret_access_key'] = release_runner_config["beetmover"]["aws_secret_access_key"]
+ ini_items['extra_balrog_submitter_params'] = release_runner_config["balrog"].get("extra_balrog_submitter_params")
return ini_items
def load_branch_and_product_config(config_file):
with open(config_file, 'r') as rc_file:
return yaml.load(rc_file)
if __name__ == '__main__':
parser = OptionParser(__doc__)
- parser.add_option('--release-runner-ini', dest='release_runner_ini',
+ parser.add_option('--release-runner-config', dest='release_runner_config',
help='ini file that contains things like sensitive credentials')
parser.add_option('--branch-and-product-config', dest='branch_and_product_config',
help='config items specific to certain product and branch')
parser.add_option('--version', dest='version', help='full version of release, e.g. 46.0b1')
parser.add_option('--build-number', dest='build_number', help='build number of release')
parser.add_option('--partials', type="string", dest='partials',
help='list of partials for the release')
parser.add_option('--mozilla-revision', dest='mozilla_revision',
help='gecko revision to build ff from')
parser.add_option('--common-task-id', dest='common_task_id',
help='a task id of a task that shares the same release info')
parser.add_option('--dry-run', dest='dry_run', action='store_true', default=False,
help="render the task graph from yaml tmpl but don't submit to taskcluster")
options = parser.parse_args()[0]
- if not options.release_runner_ini:
+ if not options.release_runner_config:
parser.error('Need to pass a release runner config')
if not options.branch_and_product_config:
parser.error('Need to pass a branch and product config')
# load config files
- release_runner_config = load_config(options.release_runner_ini)
+ release_runner_config = yaml.safe_load(open(options.release_runner_config))
tc_config = {
"credentials": {
- "clientId": get_config(release_runner_config, "taskcluster", "client_id", None),
- "accessToken": get_config(release_runner_config, "taskcluster", "access_token", None),
+ "clientId": release_runner_config["taskcluster"].get("client_id"),
+ "accessToken": release_runner_config["taskcluster"].get("access_token"),
},
"maxRetries": 12,
}
branch_product_config = load_branch_and_product_config(options.branch_and_product_config)
- if release_runner_config.getboolean('release-runner', 'verbose'):
+ if release_runner_config['release-runner']['verbose']:
log_level = logging.DEBUG
else:
log_level = logging.INFO
logging.basicConfig(filename='releasetasks_graph_gen.log',
format="%(asctime)s - %(levelname)s - %(message)s",
level=log_level)