MarkAHershberger has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/185638

Change subject: make-release: Better snapshots and version checks
......................................................................

make-release: Better snapshots and version checks

* Snapshots were broken. Fixed.
* Version parsing didn't deal with "1.24" properly.  Now produces
  error.
* Duplicate code for tag production (get_tag_from_version) removed.
* Make snapshot use the latest extension list

Change-Id: I0b8d8fc48d59dfc2e3648e0883878430d1a366d4
---
M make-release/make-release.py
M make-release/make-release.yaml
2 files changed, 18 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release 
refs/changes/38/185638/1

diff --git a/make-release/make-release.py b/make-release/make-release.py
index eb1b15e..adf2217 100755
--- a/make-release/make-release.py
+++ b/make-release/make-release.py
@@ -115,12 +115,15 @@
 class MwVersion(object):
     """Abstract out a MediaWiki version"""
 
-    def __init__(self, version):
+    def __init__(self, version=None):
         decomposed = self.decomposeVersion(version)
 
-        self.raw = version
-        self.major = decomposed.get('major', None)
-        self.branch = decomposed.get('branch', None)
+        if version is None:
+            self.raw = 'snapshot-' + time.strftime('%Y%m%d', time.gmtime())
+        else:
+            self.raw = version
+        self.major = decomposed.get('major', 'snapshot')
+        self.branch = decomposed.get('branch', 'master')
         self.tag = decomposed.get('tag', None)
         self.prev_version = decomposed.get('prevVersion', None)
         self.prev_tag = decomposed.get('prevTag', None)
@@ -141,15 +144,6 @@
             self.tag, self.prev_tag,
             self.branch
         )
-
-    def get_tag_from_version(version):
-        """
-        Get the tag to checkout from git
-
-        :param version: A string like "1.21.0"
-        :return: string
-        """
-        return 'tags/' + version
 
     def decomposeVersion(self, version):
         """Split a version number to branch / major
@@ -186,7 +180,8 @@
         """, re.X).match(version)
 
         if m is None:
-            return ret
+            logging.error("Version (" + version + ") is in the wrong format.")
+            sys.exit(1)
 
         # Clear out unneed phase/cycle
         ret = dict((k, v) for k, v in m.groupdict().iteritems()
@@ -290,8 +285,9 @@
         """
         if extensions is None:
             extensions = []
-        return extensions + self.config.get('bundles', {}).get('mediawiki-' +
-                                                               version.major)
+        others = self.config.get('bundles', {}).get('mediawiki-'
+                                                    + version.major)
+        return extensions + others
 
     def main(self):
         " return value should be usable as an exit code"
@@ -309,7 +305,7 @@
         # No version specified, assuming a snapshot release
         if options.version is None:
             self.makeRelease(
-                version='snapshot-' + time.strftime('%Y%m%d', time.gmtime()),
+                version=MwVersion(),
                 dir='snapshots')
             return 0
 
@@ -396,7 +392,7 @@
 
         os.chdir(dir)
 
-        if branch != 'master' and branch is not None:
+        if branch != 'master':
             logging.debug("Checking out %s in %s...", branch, dir)
             proc = subprocess.Popen(['git', 'checkout', branch])
 
@@ -497,7 +493,6 @@
         return filename
 
     def makeRelease(self, version, dir, extensions=[]):
-
         rootDir = self.options.buildroot
 
         # variables related to the version
@@ -562,10 +557,11 @@
         haveI18n = False
         if not self.options.no_previous and prevVersion is not None:
             prevDir = 'mediawiki-' + prevVersion
-            self.export(self.get_tag_from_version(prevVersion),
+            prevMwVersion = MwVersion(prevVersion)
+            self.export(prevMwVersion.tag,
                         prevDir, buildDir)
 
-            for ext in self.get_extensions_for_version(MwVersion(prevVersion),
+            for ext in self.get_extensions_for_version(prevMwVersion,
                                                        extensions):
                 self.exportExtension(branch, ext, prevDir)
 
diff --git a/make-release/make-release.yaml b/make-release/make-release.yaml
index 4f42626..fb957db 100644
--- a/make-release/make-release.yaml
+++ b/make-release/make-release.yaml
@@ -57,6 +57,7 @@
         - TitleBlacklist
         - WikiEditor
     mediawiki-1.24: *mw123
+    mediawiki-snapshot: *mw123
     smw:
         - AdminLinks
         - ApprovedRevs

-- 
To view, visit https://gerrit.wikimedia.org/r/185638
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b8d8fc48d59dfc2e3648e0883878430d1a366d4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: MarkAHershberger <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to