[Qa-jenkins-scm] [jenkins.debian.net] 02/02: reproducible: also automatically schedule packages in depwait after 5 days

Holger Levsen holger at moszumanska.debian.org
Fri Oct 9 14:12:35 UTC 2015


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit e8b7791ce6a710047efa282c9ebd0a83e91bdd03
Author: Holger Levsen <holger at layer-acht.org>
Date:   Fri Oct 9 16:11:46 2015 +0200

    reproducible: also automatically schedule packages in depwait after 5 days
---
 bin/reproducible_scheduler.py | 48 +++++++++++++++++++++----------------------
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/bin/reproducible_scheduler.py b/bin/reproducible_scheduler.py
index c916dcc..1eab012 100755
--- a/bin/reproducible_scheduler.py
+++ b/bin/reproducible_scheduler.py
@@ -36,7 +36,7 @@ scheduled packages is higher than MAXIMA, only new versions are scheduled...
 
 
 Then, for each category (totally _untested_ packages, _new_ versions,
-_ftbfs_ packages and _old_ versions) it depends on how many packages are
+_ftbfs+depwait_ packages and _old_ versions) it depends on how many packages are
 already scheduled in that category, in a 3 steps process.
 
 
@@ -88,7 +88,7 @@ LIMITS = {
             'experimental': {1: (100, 0), 2: (200, 0), '*': 0},
         },
     },
-    'ftbfs': {
+    'ftbfs+depwait': {
         'amd64': {
             'testing': {1: (250, 40), 2: (350, 20), '*': 0},
             'unstable': {1: (250, 40), 2: (350, 20), '*': 0},
@@ -350,14 +350,14 @@ def query_new_versions(suite, arch, limit):
     return packages
 
 
-def query_old_ftbfs_versions(suite, arch, limit):
-    criteria = 'status ftbfs, no bug filed, tested at least 5 days ago, ' + \
+def query_old_ftbfs_and_depwait_versions(suite, arch, limit):
+    criteria = 'status ftbfs or depwait, no bug filed, tested at least 5 days ago, ' + \
                'no new version available, sorted by last build date'
     query = """SELECT DISTINCT s.id, s.name
                 FROM sources AS s JOIN results AS r ON s.id = r.package_id
                 JOIN notes AS n ON n.package_id=s.id
                 WHERE s.suite='{suite}' AND s.architecture='{arch}'
-                AND r.status = 'FTBFS'
+                AND r.status IN ('FTBFS', 'depwait')
                 AND ( n.bugs = '[]' OR n.bugs IS NULL )
                 AND r.build_date < datetime('now', '-5 days')
                 AND s.id NOT IN (SELECT schedule.package_id FROM schedule)
@@ -424,21 +424,21 @@ def schedule_new_versions(arch, total):
     return packages, msg
 
 
-def schedule_old_ftbfs_versions(arch, total):
+def schedule_old_ftbfs_and_depwait_versions(arch, total):
     packages = {}
-    limit = Limit(arch, 'ftbfs')
+    limit = Limit(arch, 'ftbfs+depwait')
     for suite in SUITES:
         limit.suite = suite
-        old_ftbfs = limit.get_staged_limit(total)
-        log.info('Requesting %s old ftbfs packages in %s/%s...', old_ftbfs,
+        old_ftbfs_and_depwait = limit.get_staged_limit(total)
+        log.info('Requesting %s old ftbfs and depwait packages in %s/%s...', old_ftbfs_and_depwait,
                  suite, arch)
-        packages[suite] = query_old_ftbfs_versions(suite, arch, old_ftbfs)
+        packages[suite] = query_old_ftbfs_and_depwait_versions(suite, arch, old_ftbfs_and_depwait)
         log.info('Received ' + str(len(packages[suite])) +
-                 ' old ftbfs packages in ' + suite + '/' + arch + ' to schedule.')
+                 ' old ftbfs and depwait packages in ' + suite + '/' + arch + ' to schedule.')
         log.info('--------------------------------------------------------------')
     msg = add_up_numbers(packages, arch)
     if msg != '0':
-        msg += ' ftbfs versions without bugs filed'
+        msg += ' ftbfs and depwait versions without bugs filed'
     else:
         msg = ''
     return packages, msg
@@ -479,15 +479,15 @@ def scheduler(arch):
             empty_pkgs[suite] = []
         untested, msg_untested = empty_pkgs, ''
         new, msg_new = schedule_new_versions(arch, total)
-        old_ftbfs, msg_old_ftbfs = empty_pkgs, ''
+        old_ftbfs_and_depwait, msg_old_ftbfs_and_depwait = empty_pkgs, ''
         old, msg_old = empty_pkgs, ''
     else:
         log.info(str(total) + ' packages already scheduled' +
                  ', scheduling some more...')
         untested, msg_untested = schedule_untested_packages(arch, total)
         new, msg_new = schedule_new_versions(arch, total+len(untested))
-        old_ftbfs, msg_old_ftbfs = schedule_old_ftbfs_versions(arch, total+len(untested)+len(new))
-        old, msg_old = schedule_old_versions(arch, total+len(untested)+len(new)+len(old_ftbfs))
+        old_ftbfs_and_depwait, msg_old_ftbfs_and_depwait = schedule_old_ftbfs_and_depwait_versions(arch, total+len(untested)+len(new))
+        old, msg_old = schedule_old_versions(arch, total+len(untested)+len(new)+len(old_ftbfs_and_depwait))
 
     now_queued_here = {}
     # make sure to schedule packages in unstable first
@@ -510,7 +510,7 @@ def scheduler(arch):
         to_be_scheduled = queue_packages({}, untested[suite], datetime.now())
         assert(isinstance(to_be_scheduled, dict))
         to_be_scheduled = queue_packages(to_be_scheduled, new[suite], datetime.now()+timedelta(minutes=-720))
-        to_be_scheduled = queue_packages(to_be_scheduled, old_ftbfs[suite], datetime.now()+timedelta(minutes=360))
+        to_be_scheduled = queue_packages(to_be_scheduled, old_ftbfs_and_depwait[suite], datetime.now()+timedelta(minutes=360))
         to_be_scheduled = queue_packages(to_be_scheduled, old[suite], datetime.now()+timedelta(minutes=720))
         schedule_packages(to_be_scheduled)
     # update the scheduled page
@@ -522,15 +522,15 @@ def scheduler(arch):
         message = 'Scheduled in unstable (' + arch + '): '
     if msg_untested:
         message += msg_untested
-        message += ' and ' if msg_new and not msg_old_ftbfs and not msg_old else ''
-        message += ', ' if ( msg_new and msg_old_ftbfs ) or ( msg_new and msg_old ) else ''
+        message += ' and ' if msg_new and not msg_old_ftbfs_and_depwait and not msg_old else ''
+        message += ', ' if ( msg_new and msg_old_ftbfs_and_depwait ) or ( msg_new and msg_old ) else ''
     if msg_new:
         message += msg_new
-        message += ' and ' if msg_old_ftbfs and not msg_old else ''
-        message += ', ' if msg_old_ftbfs and msg_old else ''
-    if msg_old_ftbfs:
-        message += msg_old_ftbfs
-        message += ' and ' if msg_old_ftbfs else ''
+        message += ' and ' if msg_old_ftbfs_and_depwait and not msg_old else ''
+        message += ', ' if msg_old_ftbfs_and_depwait and msg_old else ''
+    if msg_old_ftbfs_and_depwait:
+        message += msg_old_ftbfs_and_depwait
+        message += ' and ' if msg_old_ftbfs_and_depwait else ''
     if msg_old:
         message += msg_old
     total = [now_queued_here[x] for x in SUITES]
@@ -540,7 +540,7 @@ def scheduler(arch):
     message += ' packages in total.'
     # only notifiy irc if there were packages scheduled in any suite
     for x in SUITES:
-        if len(untested[x])+len(new[x])+len(old[x])+len(old_ftbfs[x]) > 0:
+        if len(untested[x])+len(new[x])+len(old[x])+len(old_ftbfs_and_depwait[x]) > 0:
             log.info(message)
             irc_msg(message)
             break

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list