[releng] Use separate descriptions for stable, unstable, and newstable deadlines



commit 1fafcd679d492556d706f6a0c40328a44b89cdba
Author: Michael Catanzaro <mcatanzaro gnome org>
Date:   Fri Apr 24 10:32:03 2020 -0500

    Use separate descriptions for stable, unstable, and newstable deadlines
    
    Let's clarify that maintainers are not expected to release stable
    tarballs every time we have a stable release. And further clarify that
    everyone is expected to release newstable tarballs even where there are
    no changes from the last unstable release.

 tools/schedule/3.38.schedule  | 12 +++++-----
 tools/schedule/libschedule.py | 55 ++++++++++++++++++++++++++++++++-----------
 tools/schedule/wiki.py        |  2 +-
 3 files changed, 48 insertions(+), 21 deletions(-)
---
diff --git a/tools/schedule/3.38.schedule b/tools/schedule/3.38.schedule
index b78376a..e26a4a2 100644
--- a/tools/schedule/3.38.schedule
+++ b/tools/schedule/3.38.schedule
@@ -7,13 +7,13 @@ nextnewstable:3.40
 0:release:stable.0 mclasen
 3:tarball:stable.1 mcatanzaro
 3:tarball:oldstable.5 abderrahim
-7:tarball:unstable.1 alatiera
+7:develtarball:unstable.1 alatiera
 7:tarball:stable.2 mclasen
 7:tarball:oldstable.6 mcatanzaro
-12:tarball:unstable.2 abderrahim
+12:develtarball:unstable.2 abderrahim
 12:tarball:stable.3 jjardon
 12:tarball:oldstable.7 alatiera
-17:tarball:unstable.3 mcatanzaro
+17:develtarball:unstable.3 mcatanzaro
 17:tarball:stable.4 abderrahim
 17:tarball:oldstable.8 jjardon
 2020-07-22:conference:GUADEC:https://www.guadec.org/
@@ -26,14 +26,14 @@ nextnewstable:3.40
 22:task:api-doc
 22:task:release-notes-start
 22:freeze:the-freeze
-22:tarball:beta.90 abderrahim
+22:develtarball:beta.90 abderrahim
 22:tarball:stable.5 alatiera
 22:tarball:oldstable.9 jjardon
 22:eol:oldstable
 24:freeze:string
-24:tarball:beta.91 mcatanzaro
+24:develtarball:beta.91 mcatanzaro
 26:freeze:hard-code
-26:tarball:rc.92 jjardon
+26:develtarball:rc.92 jjardon
 26:tarball:stable.6 mclasen
 27:release:newstable.0 mclasen
 27:freeze:hard-code-end
diff --git a/tools/schedule/libschedule.py b/tools/schedule/libschedule.py
index 02635c6..6b6f3f4 100755
--- a/tools/schedule/libschedule.py
+++ b/tools/schedule/libschedule.py
@@ -19,24 +19,50 @@ class GnomeReleaseEvent:
             'wiki_template': 'GNOME $version $detail release',
             'description_template': 'GNOME $version $detail release',
         },
-        "tarball": {
+        "newstabletarball": {
             "prio": 2,
             "automail": True,
             'summary_template': 'GNOME $version $detail tarballs due',
             "wiki_template": 'GNOME $version $detail tarballs due',
             "description_template": """Tarballs are due on $date before 23:59 UTC for the GNOME
-$version $detail release, which will be delivered next week. Core modules
-should try to follow the unstable schedule so everyone can test them.
+$version $detail release, which will be delivered next week. All modules
+that had an unstable release during the current release cycle must
+release to ensure a stable version number, even if there have been no
+changes since the previous release.
 
 Please make sure that your tarballs will be uploaded before Saturday 23:59
-UTC: tarballs uploaded later than that will probably be too late to get
-in $version. If you are not able to make a tarball before this deadline or
-if you think you'll be late, please send a mail to the release team and
-we'll find someone to roll the tarball for you!""",
+UTC. Tarballs uploaded later than that will probably be too late. If
+you need help, please contact the release team and we'll find someone to
+handle the release for you.""",
         },
-        "freeze": {
+        "develtarball": {
             "prio": 3,
             "automail": True,
+            'summary_template': 'GNOME $version $detail tarballs due',
+            "wiki_template": 'GNOME $version $detail tarballs due',
+            "description_template": """Tarballs are due on $date before 23:59 UTC for the GNOME
+$version $detail release, which will be delivered next week. In order to
+ensure adequate testing, core modules should try to release according to
+the unstable schedule if they have significant changes.
+
+Please make sure that your tarballs will be uploaded before Saturday 23:59
+UTC. Tarballs uploaded later than that will probably be too late.""",
+        },
+        "tarball": {
+            "prio": 4,
+            "automail": True,
+            'summary_template': 'GNOME $version $detail tarballs due',
+            "wiki_template": 'GNOME $version $detail tarballs due',
+            "description_template": """Tarballs are due on $date before 23:59 UTC for the GNOME
+$version $detail release, which will be delivered next week. Core modules
+are not expected to follow the schedule for stable releases. Instead,
+please release when you judge that a new stable release is required.
+Modules released before this deadline will be included in the $version
+update of the GNOME runtime.""",
+        },
+        "freeze": {
+            "prio": 5,
+            "automail": True,
             "summary_template": {
                 'feature': 'Feature and Module Freeze',
                 'the-freeze': 'API/ABI, UI and Feature Addition Freeze; String Change Announcement Period',
@@ -73,7 +99,7 @@ From this point, developers can concentrate on stability and bugfixing. Translat
             },
         },
         "task": {
-            "prio": 4,
+            "prio": 6,
             "automail": True,
             "summary_template": {
                 'api-doc': 'New APIs must be fully documented',
@@ -92,16 +118,17 @@ From this point, developers can concentrate on stability and bugfixing. Translat
             }
         },
         "conference": {
-            "prio": 5,
+            "prio": 7,
             "summary_template": '$detail conference',
             "wiki_template": '$detail conference',
         },
         "hackfest": {
-            "prio": 6,
+            "prio": 8,
             "summary_template": '$detail hackfest',
             "wiki_template": '$detail hackfest',
         },
         "eol": {
+            "prio": 9,
             "summary_template": 'End of life for $oldstable',
             "wiki_template": 'End of life for GNOME $oldstable. This will be the final update to the 
$oldstable runtime.',
         }
@@ -265,7 +292,7 @@ def parse_file (filename=DEFAULT_SCHEDULE, cls=GnomeReleaseEvent):
             # Expand event info
             version = None
             assignee = None
-            if (category == 'release' or category == 'tarball') and '.' in event:
+            if (category == 'release' or 'tarball' in category) and '.' in event:
                 if ' ' in event:
                     i = event.split(' ', 1)
                     event = i[0]
@@ -277,7 +304,7 @@ def parse_file (filename=DEFAULT_SCHEDULE, cls=GnomeReleaseEvent):
                     event = i[0]
                     i[0] = definitions.get(i[0], definitions['unstable'])
                     version = '.'.join(i)
-            if (category == 'release' or category == 'tarball') and version is None:
+            if (category == 'release' or 'tarball' in category) and version is None:
                 print("Error: line '%s' is not parsable" % line[0:-1])
                 return None
 
@@ -285,7 +312,7 @@ def parse_file (filename=DEFAULT_SCHEDULE, cls=GnomeReleaseEvent):
                 date = date + datetime.timedelta(4)
 
             if category == 'release' and event == 'newstable':
-                rel_event = cls(date, week, 'tarball', event, version, assignee)
+                rel_event = cls(date, week, 'newstabletarball', event, version, assignee)
                 events.append (rel_event)
 
             if category == 'release' and not fixedDate:
diff --git a/tools/schedule/wiki.py b/tools/schedule/wiki.py
index a4d2e80..a24dd79 100755
--- a/tools/schedule/wiki.py
+++ b/tools/schedule/wiki.py
@@ -40,7 +40,7 @@ def splitter(l, n):
 
 events = parse_file()
 
-cat_task = set(('release', 'tarball'))
+cat_task = set(('release', 'tarball', 'develtarball', 'newstabletarball'))
 by_month = lambda val: val.date.month
 by_week = lambda val: val.isoweek
 by_date = lambda val: val.date


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]