def main(): updated_packages = get_updated_packages(get_updates_messages()) loginfo('Updated packages according to datagrepper: {0}'.format(updated_packages)) for row in get_copr_package_info_rows(): source_json = json.loads(row.source_json) source_package_name = source_json['pypi_package_name'].lower() source_python_versions = source_json['python_versions'] latest_build_version = row.pkg_version loginfo('candidate package for rebuild: {0}, package_id: {1}, copr_id: {2}'.format(source_package_name, row.package_id, row.copr_id)) if source_package_name in updated_packages: new_updated_version = updated_packages[source_package_name] logdebug('source_package_name: {0}, latest_build_version: {1}, new_updated_version {2}'.format(source_package_name, latest_build_version, new_updated_version)) if not latest_build_version or not re.match(new_updated_version, latest_build_version): # if the last build's package version is "different" from new remote package version, rebuild try: copr = CoprsLogic.get_by_id(row.copr_id)[0] except Exception as e: logexception(e) continue if args.backend.lower() == 'pypi': loginfo('Launching pypi build for package of source name: {0}, package_id: {1}, copr_id: {2}, user_id: {3}'.format(source_package_name, row.package_id, copr.id, copr.user.id)) build = BuildsLogic.create_new_from_pypi(copr.user, copr, source_package_name, new_updated_version, source_python_versions, chroot_names=None) else: raise Exception('Unsupported backend {0} passed as command-line argument'.format(args.backend)) db.session.commit() loginfo('Launched build id {0}'.format(build.id))
def main(): updated_packages = get_updated_packages(get_updates_messages()) loginfo('Updated packages according to datagrepper: {0}'.format(updated_packages)) for row in get_copr_package_info_rows(): source_json = json.loads(row.source_json) package = package_from_source(args.backend.lower(), source_json) latest_build_version = row.pkg_version loginfo('candidate package for rebuild: {0}, package_id: {1}, copr_id: {2}'.format(package.name, row.package_id, row.copr_id)) if package.name in updated_packages: new_updated_version = updated_packages[package.name] logdebug('name: {0}, latest_build_version: {1}, new_updated_version {2}'.format(package.name, latest_build_version, new_updated_version)) # if the last build's package version is "different" from new remote package version, rebuild if not latest_build_version or not re.match(new_updated_version, latest_build_version): try: copr = CoprsLogic.get_by_id(row.copr_id)[0] except Exception as e: logexception(e) continue loginfo('Launching {} build for package of source name: {}, package_id: {}, copr_id: {}, user_id: {}' .format(args.backend.lower(), package.name, row.package_id, copr.id, copr.user.id)) build = package.build(copr, new_updated_version) db.session.commit() loginfo('Launched build id {0}'.format(build.id))
def test_project_get_one_with_chroots(self, f_users, f_mock_chroots, f_coprs, f_db): p_id_list = [p.id for p in self.basic_coprs_list] for p_id in p_id_list: href = "/api_2/projects/{}?show_chroots=True".format(p_id) r = self.tc.get(href) assert r.status_code == 200 obj = json.loads(r.data.decode("utf-8")) assert obj["project"]["id"] == p_id assert obj["_links"]["self"]["href"] == href project = CoprsLogic.get_by_id(p_id).one() assert len(obj["project_chroots"]) == len(project.copr_chroots)