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