Legoktm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/201246
Change subject: make-release: Don't re-list all bundled extensions for each
release
......................................................................
make-release: Don't re-list all bundled extensions for each release
Instead, store a base set of extensions from 1.18, and list the changes
that have happened in each release.
Change-Id: I0799da0eea8720470f9b127c2a67c76a32b052f6
---
M make-release/make-release.py
M make-release/make-release.yaml
A make-release/tests/test_make-release.py
3 files changed, 70 insertions(+), 91 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release
refs/changes/46/201246/1
diff --git a/make-release/make-release.py b/make-release/make-release.py
index f62d794..fa8fb41 100755
--- a/make-release/make-release.py
+++ b/make-release/make-release.py
@@ -299,8 +299,20 @@
"""
if extensions is None:
extensions = []
- return extensions + self.config.get('bundles', {}).get('mediawiki-' +
- version.major)
+ if 'bundles' not in self.config:
+ return extensions
+ bundles = self.config['bundles']
+ base = set(bundles['base'])
+ for release in sorted(list(bundles)):
+ if release.startswith('mediawiki-') and release <= 'mediawiki-' +
version.major:
+ changes = bundles[release]
+ if 'add' in changes:
+ for repo in changes['add']:
+ base.add(repo)
+ if 'remove' in changes:
+ for repo in changes['remove']:
+ base.remove(repo)
+ return sorted(extensions + list(base))
def main(self):
" return value should be usable as an exit code"
diff --git a/make-release/make-release.yaml b/make-release/make-release.yaml
index 5c33667..999a9b3 100644
--- a/make-release/make-release.yaml
+++ b/make-release/make-release.yaml
@@ -1,6 +1,6 @@
# vim: set et ts=4 sw=4: -*- mode: yaml-mode; yaml-indent-offset: 4 -*-
bundles:
- mediawiki-1.18: &base
+ base: # 1.18
- extensions/ConfirmEdit
- extensions/Gadgets
- extensions/Nuke
@@ -8,98 +8,34 @@
- extensions/Renameuser
- extensions/Vector
- extensions/WikiEditor
- mediawiki-1.19: *base
- mediawiki-1.20: *base
mediawiki-1.21:
- - extensions/ConfirmEdit
- - extensions/Gadgets
- - extensions/Nuke
- - extensions/ParserFunctions
- - extensions/PdfHandler
- - extensions/Renameuser
- - extensions/SpamBlacklist
- - extensions/Vector
- - extensions/WikiEditor
+ add:
+ - extensions/PdfHandler
+ - extensions/SpamBlacklist
mediawiki-1.22:
- - extensions/Cite
- - extensions/ConfirmEdit
- - extensions/Gadgets
- - extensions/ImageMap
- - extensions/InputBox
- - extensions/Interwiki
- - extensions/LocalisationUpdate
- - extensions/Nuke
- - extensions/ParserFunctions
- - extensions/PdfHandler
- - extensions/Poem
- - extensions/Renameuser
- - extensions/SimpleAntiSpam
- - extensions/SpamBlacklist
- - extensions/SyntaxHighlight_GeSHi
- - extensions/TitleBlacklist
- - extensions/Vector
- - extensions/WikiEditor
+ add:
+ - extensions/Cite
+ - extensions/ImageMap
+ - extensions/InputBox
+ - extensions/Interwiki
+ - extensions/LocalisationUpdate
+ - extensions/Poem
+ - extensions/SimpleAntiSpam
+ - extensions/SyntaxHighlight_GeSHi
+ - extensions/TitleBlacklist
mediawiki-1.23:
- - extensions/Cite
- - extensions/ConfirmEdit
- - extensions/Gadgets
- - extensions/ImageMap
- - extensions/InputBox
- - extensions/Interwiki
- - extensions/LocalisationUpdate
- - extensions/Nuke
- - extensions/ParserFunctions
- - extensions/PdfHandler
- - extensions/Poem
- - extensions/Renameuser
- - extensions/SpamBlacklist
- - extensions/SyntaxHighlight_GeSHi
- - extensions/TitleBlacklist
- - extensions/WikiEditor
+ remove:
+ - extensions/SimpleAntiSpam
+ - extensions/Vector
mediawiki-1.24:
- - extensions/Cite
- - extensions/ConfirmEdit
- - extensions/Gadgets
- - extensions/ImageMap
- - extensions/InputBox
- - extensions/Interwiki
- - extensions/LocalisationUpdate
- - extensions/Nuke
- - extensions/ParserFunctions
- - extensions/PdfHandler
- - extensions/Poem
- - extensions/Renameuser
- - extensions/SpamBlacklist
- - extensions/SyntaxHighlight_GeSHi
- - extensions/TitleBlacklist
- - extensions/WikiEditor
- - skins/CologneBlue
- - skins/Modern
- - skins/MonoBook
- - skins/Vector
- mediawiki-1.25: &mw125
- - extensions/Cite
- - extensions/CiteThisPage
- - extensions/ConfirmEdit
- - extensions/Gadgets
- - extensions/ImageMap
- - extensions/InputBox
- - extensions/Interwiki
- - extensions/LocalisationUpdate
- - extensions/Nuke
- - extensions/ParserFunctions
- - extensions/PdfHandler
- - extensions/Poem
- - extensions/Renameuser
- - extensions/SpamBlacklist
- - extensions/SyntaxHighlight_GeSHi
- - extensions/TitleBlacklist
- - extensions/WikiEditor
- - skins/CologneBlue
- - skins/Modern
- - skins/MonoBook
- - skins/Vector
- mediawiki-snapshot: *mw125
+ add:
+ - skins/CologneBlue
+ - skins/Modern
+ - skins/MonoBook
+ - skins/Vector
+ mediawiki-1.25:
+ add:
+ - extensions/CiteThisPage
smw:
- AdminLinks
- ApprovedRevs
diff --git a/make-release/tests/test_make-release.py
b/make-release/tests/test_make-release.py
new file mode 100644
index 0000000..769325d
--- /dev/null
+++ b/make-release/tests/test_make-release.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python2
+
+import unittest
+
+makerelease = __import__('make-release')
+
+
+class Struct:
+ def __init__(self, **entries):
+ self.__dict__.update(entries)
+
+
+class MakeReleaseTest(unittest.TestCase):
+ def getMakeRelease(self, options):
+ if 'conffile' not in options:
+ options['conffile'] = '../make-release.yaml'
+ return makerelease.MakeRelease(Struct(**options))
+
+ def test_get_extensions_for_version(self):
+ mr = self.getMakeRelease({'version': '1.25.0'})
+ # Added in 1.25
+ self.assertIn('extensions/CiteThisPage',
mr.get_extensions_for_version(mr.version))
+
+ mr = self.getMakeRelease({'version': '1.23.0'})
+ # Removed in 1.23
+ self.assertNotIn('extensions/SimpleAntiSpam',
mr.get_extensions_for_version(mr.version))
+ # But if explicitly specified, still included
+ self.assertIn('extensions/SimpleAntiSpam',
mr.get_extensions_for_version(
+ mr.version,
+ ['extensions/SimpleAntiSpam'])
+ )
--
To view, visit https://gerrit.wikimedia.org/r/201246
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0799da0eea8720470f9b127c2a67c76a32b052f6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits