#!/usr/bin/env python3 # This file is part of Cockpit. # # Copyright (C) 2017 Red Hat, Inc. # # Cockpit is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Cockpit is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Cockpit; If not, see . # Number of days between learning attempts DAYS = 7 import argparse import sys import time sys.dont_write_bytecode = True import task # The name and version of the training data TRAINING_DATA = "tests-train-1.jsonl.gz" def main(): parser = argparse.ArgumentParser(description='Ensure necessary issue learning from tests') parser.add_argument('-v', '--verbose', action="store_true", default=False, help="Print verbose information") parser.parse_args() title = "Update machine learning from test logs" body = "Perform machine learning tasks such as retrieving new test logs and updating" since = time.time() - (DAYS * 86400) items = [ "tests-data " + TRAINING_DATA, # We want this to run in both namespaces "learn-tests https://learn-cockpit.apps.ci.centos.org/train/" + TRAINING_DATA, "flakes-refresh", ] issue = task.issue(title, body, items[1], items=items, state="all", since=since) if issue: sys.stderr.write("#{0}: learn-tests\n".format(issue["number"])) return 0 if __name__ == '__main__': sys.exit(main())