mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 08:15:19 +00:00 
			
		
		
		
	What we should do when creating stabilization branch from the master. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/python3
 | 
						|
#
 | 
						|
# print FRR release schedule dates
 | 
						|
 | 
						|
from datetime import datetime, date, timedelta
 | 
						|
 | 
						|
w2 = timedelta(days=14)
 | 
						|
 | 
						|
 | 
						|
def year_gen(year):
 | 
						|
    for month in [3, 7, 11]:
 | 
						|
        d = date(year, month, 1)
 | 
						|
        if d.weekday() == 0:
 | 
						|
            d += timedelta(days=1)
 | 
						|
        elif d.weekday() >= 2:
 | 
						|
            d += timedelta(days=8 - d.weekday())
 | 
						|
        yield d
 | 
						|
 | 
						|
 | 
						|
def calc(refdate):
 | 
						|
    year = refdate.year
 | 
						|
 | 
						|
    prev = list(year_gen(year - 1))[-1]
 | 
						|
    releases = list(year_gen(year)) + list(year_gen(year + 1))
 | 
						|
 | 
						|
    while refdate > releases[0]:
 | 
						|
        prev = releases.pop(0)
 | 
						|
 | 
						|
    return (prev, releases)
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    now = datetime.now().date()
 | 
						|
    last, upcoming = calc(now)
 | 
						|
 | 
						|
    print("Last release was (scheduled) on %s" % last.isoformat())
 | 
						|
 | 
						|
    rel = upcoming.pop(0)
 | 
						|
    freeze, stabilization, rc = rel - w2 * 3, rel - w2 * 2, rel - w2
 | 
						|
 | 
						|
    if now == rel:
 | 
						|
        print("It's release day! 🎉")
 | 
						|
    elif now >= rc:
 | 
						|
        print(
 | 
						|
            "%d days until release! (RC since %s)" % ((rel - now).days, rc.isoformat())
 | 
						|
        )
 | 
						|
    elif now >= stabilization:
 | 
						|
        print(
 | 
						|
            "%d days until RC. (stabilization branch created since %s)"
 | 
						|
            % ((rc - now).days, stabilization.isoformat())
 | 
						|
        )
 | 
						|
    elif now >= freeze:
 | 
						|
        print(
 | 
						|
            "%d days until stabilization branch, master is frozen since %s"
 | 
						|
            % ((stabilization - now).days, freeze.isoformat())
 | 
						|
        )
 | 
						|
    else:
 | 
						|
        print(
 | 
						|
            "%d days of hacking time left! (Freeze on %s)"
 | 
						|
            % ((freeze - now).days, freeze.isoformat())
 | 
						|
        )
 |