mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-04-29 21:37:08 +00:00

As discussed in the weekly meeting today, this is what we're trying to work with for the time being. (Date calculator included as a bonus goodie ;) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
60 lines
1.5 KiB
Python
60 lines
1.5 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, rc1, rc2 = rel - w2 * 3, rel - w2 * 2, rel - w2
|
|
|
|
if now == rel:
|
|
print("It's release day! 🎉")
|
|
elif now >= rc2:
|
|
print(
|
|
"%d days until release! (rc2 since %s)"
|
|
% ((rel - now).days, rc2.isoformat())
|
|
)
|
|
elif now >= rc1:
|
|
print("%d days until rc2. (rc1 since %s)" % ((rc2 - now).days, rc1.isoformat()))
|
|
elif now >= freeze:
|
|
print(
|
|
"%d days until rc1, master is frozen since %s"
|
|
% ((rc1 - now).days, freeze.isoformat())
|
|
)
|
|
else:
|
|
print(
|
|
"%d days of hacking time left! (Freeze on %s)"
|
|
% ((freeze - now).days, freeze.isoformat())
|
|
)
|