Exemplo n.º 1
0
def buildbot_loop():
    time_of_last_change = None
    while True:
        if not is_git_up_to_date():
            # there was a new checking, it resets the wait time
            time_of_last_change = datetime.datetime.now()
            print(
                "New checkins detected, sleeping for 15 minutes, %s until pre-release"
                % pretty_print_secs(TIME_BETWEEN_PRE_RELEASE_BUILDS_IN_SECS)
            )
            time.sleep(60 * 15)  # 15 mins
            continue

        if time_of_last_change == None:
            # no changes since last pre-relase, sleep until there is a checkin
            print("No checkins since last pre-release, sleeping for 15 minutes")
            time.sleep(60 * 15)  # 15 mins
            continue

        td = datetime.datetime.now() - time_of_last_change
        secs_until_prerelease = TIME_BETWEEN_PRE_RELEASE_BUILDS_IN_SECS - int(td.total_seconds())
        if secs_until_prerelease > 0:
            print("Sleeping for 15 minutes, %s until pre-release" % pretty_print_secs(secs_until_prerelease))
            time.sleep(60 * 15)  # 15 mins
            continue

        build_pre_release()
        time_of_last_change = None
Exemplo n.º 2
0
def buildbot_loop():
    time_of_last_change = None
    while True:
        if not is_git_up_to_date():
            # there was a new checking, it resets the wait time
            time_of_last_change = datetime.datetime.now()
            print("New checkins detected, sleeping for 15 minutes, %s until pre-release" %
                  pretty_print_secs(TIME_BETWEEN_PRE_RELEASE_BUILDS_IN_SECS))
            time.sleep(60 * 15)  # 15 mins
            continue

        if time_of_last_change == None:
            # no changes since last pre-relase, sleep until there is a checkin
            print("No checkins since last pre-release, sleeping for 15 minutes")
            time.sleep(60 * 15)  # 15 mins
            continue

        td = datetime.datetime.now() - time_of_last_change
        secs_until_prerelease = TIME_BETWEEN_PRE_RELEASE_BUILDS_IN_SECS - \
            int(td.total_seconds())
        if secs_until_prerelease > 0:
            print("Sleeping for 15 minutes, %s until pre-release" %
                  pretty_print_secs(secs_until_prerelease))
            time.sleep(60 * 15)  # 15 mins
            continue

        build_pre_release()
        time_of_last_change = None
def buildbot_loop():
    global g_time_of_last_build
    while True:
        # util.get_svn_versions() might throw an exception due to
        # temporary network problems, so retry
        try:
            (local_ver, latest_ver) = util.get_svn_versions()
        except:
            print("get_svn_versions() threw an exception")
            time.sleep(120)
            continue

        print("local ver: %s, latest ver: %s" % (local_ver, latest_ver))
        revs_built = 0
        while int(local_ver) <= int(latest_ver):
            if not has_already_been_built(local_ver):
                build_version_retry(local_ver)
                revs_built += 1
            else:
                print("We have already built revision %s" % local_ver)
            local_ver = str(int(local_ver) + 1)
        delete_old_logs()
        # don't sleep if we built something in this cycle. a new checkin might
        # have happened while we were working
        if revs_built > 0:
            g_time_of_last_build = datetime.datetime.now()
            continue

        secs_until_prerelease = None
        if g_time_of_last_build is not None:
            td = datetime.datetime.now() - g_time_of_last_build
            secs_until_prerelease = TIME_BETWEEN_PRE_RELEASE_BUILDS_IN_SECS - \
                int(td.total_seconds())
            if secs_until_prerelease < 0:
                build_pre_release()
                g_time_of_last_build = None

        if secs_until_prerelease is None:
            print("Sleeping for 15 minutes to wait for new checkin")
        else:
            print("Sleeping for 15 minutes, %s until pre-release" %
                  pretty_print_secs(secs_until_prerelease))
        time.sleep(60 * 15)  # 15 mins
def buildbot_loop():
    global g_time_of_last_build
    while True:
        # util.get_svn_versions() might throw an exception due to
        # temporary network problems, so retry
        try:
            (local_ver, latest_ver) = util.get_svn_versions()
        except:
            print("get_svn_versions() threw an exception")
            time.sleep(120)
            continue

        print("local ver: %s, latest ver: %s" % (local_ver, latest_ver))
        revs_built = 0
        while int(local_ver) <= int(latest_ver):
            if not has_already_been_built(local_ver):
                build_version_retry(local_ver)
                revs_built += 1
            else:
                print("We have already built revision %s" % local_ver)
            local_ver = str(int(local_ver) + 1)
        delete_old_logs()
        # don't sleep if we built something in this cycle. a new checkin might
        # have happened while we were working
        if revs_built > 0:
            g_time_of_last_build = datetime.datetime.now()
            continue

        secs_until_prerelease = None
        if g_time_of_last_build is not None:
            td = datetime.datetime.now() - g_time_of_last_build
            secs_until_prerelease = TIME_BETWEEN_PRE_RELEASE_BUILDS_IN_SECS - \
                int(td.total_seconds())
            if secs_until_prerelease < 0:
                build_pre_release()
                g_time_of_last_build = None

        if secs_until_prerelease is None:
            print("Sleeping for 15 minutes to wait for new checkin")
        else:
            print("Sleeping for 15 minutes, %s until pre-release" %
                  pretty_print_secs(secs_until_prerelease))
        time.sleep(60 * 15)  # 15 mins