def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'devel' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'source') add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_source_build_files(config, args.rosdistro_name) build_file = build_files[args.source_build_name] jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) group_name = get_devel_view_name(args.rosdistro_name, args.source_build_name) configure_reconfigure_jobs_job(jenkins, group_name, args, config, build_file, dry_run=args.dry_run) configure_trigger_jobs_job(jenkins, group_name, build_file, dry_run=args.dry_run)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'doc' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'doc') add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_doc_build_files(config, args.rosdistro_name) build_file = build_files[args.doc_build_name] if build_file.documentation_type != DOC_TYPE_ROSDOC: print(("The doc build file '%s' has the wrong documentation type to " + "be used with this script") % args.doc_build_name, file=sys.stderr) return 1 jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) group_name = get_doc_view_name(args.rosdistro_name, args.doc_build_name) configure_reconfigure_jobs_job(jenkins, group_name, args, config, build_file, dry_run=args.dry_run) configure_trigger_jobs_job(jenkins, group_name, build_file, dry_run=args.dry_run)
def configure_sync_packages_to_testing_job(config_url, rosdistro_name, release_build_name, os_code_name, arch, config=None, build_file=None, jenkins=None): if config is None: config = get_config_index(config_url) if build_file is None: build_files = get_release_build_files(config, rosdistro_name) build_file = build_files[release_build_name] if jenkins is None: jenkins = connect(config.jenkins_url) job_name = get_sync_packages_to_testing_job_name(rosdistro_name, os_code_name, arch) job_config = _get_sync_packages_to_testing_job_config( config_url, rosdistro_name, release_build_name, os_code_name, arch, config, build_file) # jenkinsapi.jenkins.Jenkins evaluates to false if job count is zero if isinstance(jenkins, object) and jenkins is not False: configure_management_view(jenkins) configure_job(jenkins, job_name, job_config)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'doc' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'doc') args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_doc_build_files(config, args.rosdistro_name) build_file = build_files[args.doc_build_name] if build_file.documentation_type != DOC_TYPE_ROSDOC: print(("The doc build file '%s' has the wrong documentation type to " + "be used with this script") % args.doc_build_name, file=sys.stderr) return 1 jenkins = connect(config.jenkins_url) configure_management_view(jenkins) group_name = get_doc_view_name( args.rosdistro_name, args.doc_build_name) configure_reconfigure_jobs_job( jenkins, group_name, args, config, build_file) configure_trigger_jobs_job(jenkins, group_name, build_file)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'release' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'release') add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_release_build_files(config, args.rosdistro_name) build_file = build_files[args.release_build_name] package_formats = set( package_format_mapping[os_name] for os_name in build_file.targets.keys()) assert len(package_formats) == 1 package_format = package_formats.pop() group_name = get_release_job_prefix( args.rosdistro_name, args.release_build_name) reconfigure_jobs_job_config = get_reconfigure_jobs_job_config( args, config, build_file) trigger_jobs_job_config = get_trigger_jobs_job_config( args, config, build_file) trigger_missed_jobs_job_config = get_trigger_missed_jobs_job_config( args, config, build_file) import_upstream_job_config = get_import_upstream_job_config( args, config, build_file, package_format) trigger_broken_with_non_broken_upstream_job_config = \ _get_trigger_broken_with_non_broken_upstream_job_config( args.rosdistro_name, args.release_build_name, build_file) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) job_name = '%s_%s' % (group_name, 'reconfigure-jobs') configure_job( jenkins, job_name, reconfigure_jobs_job_config, dry_run=args.dry_run) job_name = '%s_%s' % (group_name, 'trigger-jobs') configure_job( jenkins, job_name, trigger_jobs_job_config, dry_run=args.dry_run) job_name = '%s_%s' % (group_name, 'trigger-missed-jobs') configure_job( jenkins, job_name, trigger_missed_jobs_job_config, dry_run=args.dry_run) job_name = 'import_upstream%s' % ('' if package_format == 'deb' else '_' + package_format) configure_job( jenkins, job_name, import_upstream_job_config, dry_run=args.dry_run) job_name = '%s_%s' % \ (group_name, 'trigger-broken-with-non-broken-upstream') configure_job( jenkins, job_name, trigger_broken_with_non_broken_upstream_job_config, dry_run=args.dry_run)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'release' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'release') add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_release_build_files(config, args.rosdistro_name) build_file = build_files[args.release_build_name] group_name = get_release_job_prefix( args.rosdistro_name, args.release_build_name) reconfigure_jobs_job_config = get_reconfigure_jobs_job_config( args, config, build_file) trigger_jobs_job_config = get_trigger_jobs_job_config( args, config, build_file) trigger_missed_jobs_job_config = get_trigger_missed_jobs_job_config( args, config, build_file) import_upstream_job_config = get_import_upstream_job_config( args, config, build_file) trigger_broken_with_non_broken_upstream_job_config = \ _get_trigger_broken_with_non_broken_upstream_job_config( args.rosdistro_name, args.release_build_name, build_file) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) job_name = '%s_%s' % (group_name, 'reconfigure-jobs') configure_job( jenkins, job_name, reconfigure_jobs_job_config, dry_run=args.dry_run) job_name = '%s_%s' % (group_name, 'trigger-jobs') configure_job( jenkins, job_name, trigger_jobs_job_config, dry_run=args.dry_run) job_name = '%s_%s' % (group_name, 'trigger-missed-jobs') configure_job( jenkins, job_name, trigger_missed_jobs_job_config, dry_run=args.dry_run) job_name = 'import_upstream' configure_job( jenkins, job_name, import_upstream_job_config, dry_run=args.dry_run) job_name = '%s_%s' % \ (group_name, 'trigger-broken-with-non-broken-upstream') configure_job( jenkins, job_name, trigger_broken_with_non_broken_upstream_job_config, dry_run=args.dry_run)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'check_slaves' job on Jenkins") add_argument_config_url(parser) args = parser.parse_args(argv) config = get_index(args.config_url) job_config = get_job_config(config.notify_emails) jenkins = connect(config.jenkins_url) configure_management_view(jenkins) job_name = 'check_slaves' configure_job(jenkins, job_name, job_config)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'bloom_status' job on Jenkins") add_argument_config_url(parser) add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) job_config = get_job_config(args, config) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) job_name = 'bloom_status' configure_job(jenkins, job_name, job_config, dry_run=args.dry_run)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'dashboard' job on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) args = parser.parse_args(argv) config = get_index(args.config_url) job_config = get_job_config(args, config) jenkins = connect(config.jenkins_url) configure_management_view(jenkins) job_name = '%s_rosdistro-cache' % args.rosdistro_name configure_job(jenkins, job_name, job_config)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'repos_status_page' job on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) args = parser.parse_args(argv) config = get_index(args.config_url) job_config = get_job_config(args, config) jenkins = connect(config.jenkins_url) configure_management_view(jenkins) prefix = get_release_job_prefix(args.rosdistro_name) job_name = '%s_repos-status-page' % prefix configure_job(jenkins, job_name, job_config)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'failing_jobs' job on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) job_config = get_job_config(args.rosdistro_name) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) job_name = '%s_failing-jobs' % args.rosdistro_name configure_job(jenkins, job_name, job_config, dry_run=args.dry_run)
def configure_import_package_job( config_url, rosdistro_name, release_build_name, config=None, build_file=None, jenkins=None): if config is None: config = get_config_index(config_url) if build_file is None: build_files = get_release_build_files(config, rosdistro_name) build_file = build_files[release_build_name] if jenkins is None: jenkins = connect(config.jenkins_url) job_name = get_import_package_job_name(rosdistro_name) job_config = _get_import_package_job_config(build_file) # jenkinsapi.jenkins.Jenkins evaluates to false if job count is zero if isinstance(jenkins, object) and jenkins is not False: configure_management_view(jenkins) configure_job(jenkins, job_name, job_config)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'blocked_source_entries_page' job on Jenkins" ) add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) job_config = get_job_config(args, config) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) prefix = get_release_job_prefix(args.rosdistro_name) job_name = '%s_blocked-source-entries-page' % prefix configure_job(jenkins, job_name, job_config, dry_run=args.dry_run)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'release' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'release') args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_release_build_files(config, args.rosdistro_name) build_file = build_files[args.release_build_name] group_name = get_release_job_prefix(args.rosdistro_name, args.release_build_name) reconfigure_jobs_job_config = get_reconfigure_jobs_job_config( args, config, build_file) trigger_jobs_job_config = get_trigger_jobs_job_config( args, config, build_file) import_upstream_job_config = get_import_upstream_job_config( args, config, build_file) trigger_broken_with_non_broken_upstream_job_config = \ _get_trigger_broken_with_non_broken_upstream_job_config( args.rosdistro_name, args.release_build_name, build_file) jenkins = connect(config.jenkins_url) configure_management_view(jenkins) job_name = '%s_%s' % (group_name, 'reconfigure-jobs') configure_job(jenkins, job_name, reconfigure_jobs_job_config) job_name = '%s_%s' % (group_name, 'trigger-jobs') configure_job(jenkins, job_name, trigger_jobs_job_config) job_name = 'import_upstream' configure_job(jenkins, job_name, import_upstream_job_config) job_name = '%s_%s' % \ (group_name, 'trigger-broken-with-non-broken-upstream') configure_job(jenkins, job_name, trigger_broken_with_non_broken_upstream_job_config)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'CI' management jobs on Jenkins") # Positional add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_ci_build_files(config, args.rosdistro_name) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) group_name = get_ci_view_name(args.rosdistro_name) configure_reconfigure_jobs_job( jenkins, group_name, args, config, build_files, dry_run=args.dry_run)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'devel' management jobs on Jenkins") add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_build_name(parser, 'source') args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_source_build_files(config, args.rosdistro_name) build_file = build_files[args.source_build_name] jenkins = connect(config.jenkins_url) configure_management_view(jenkins) group_name = get_devel_view_name( args.rosdistro_name, args.source_build_name) configure_reconfigure_jobs_job( jenkins, group_name, args, config, build_file) configure_trigger_jobs_job(jenkins, group_name, build_file)
def main(argv=sys.argv[1:]): parser = argparse.ArgumentParser( description="Generate the 'CI' management jobs on Jenkins") # Positional add_argument_config_url(parser) add_argument_rosdistro_name(parser) add_argument_dry_run(parser) args = parser.parse_args(argv) config = get_index(args.config_url) build_files = get_ci_build_files(config, args.rosdistro_name) jenkins = connect(config.jenkins_url) configure_management_view(jenkins, dry_run=args.dry_run) group_name = get_ci_view_name(args.rosdistro_name) configure_reconfigure_jobs_job(jenkins, group_name, args, config, build_files, dry_run=args.dry_run)