Ori.livneh has uploaded a new change for review.

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

Change subject: scappy: full compatibility with scap's '--versions' arg
......................................................................

scappy: full compatibility with scap's '--versions' arg

Allow deployer to specify MediaWiki versions for deployment via '--versions'
arg. The special value 'active' means all active MediaWiki versions.

Change-Id: I07b158ca4a308a0ba902f920f07819f73044663a
---
M bin/scappy
1 file changed, 16 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/73/111673/1

diff --git a/bin/scappy b/bin/scappy
index 58bd864..9f25b37 100755
--- a/bin/scappy
+++ b/bin/scappy
@@ -110,7 +110,8 @@
     """Get the set of active branches from a wikiversions.cdb file."""
     with open(wikiversions_cdb_path, 'rb') as cdb_file:
         cdb = cdb_file.read()
-        return {v for k, v in cdb_items(cdb) if k.startswith('ver:')}
+        return {v.replace('php-', '') for k, v in cdb_items(cdb)
+                if k.startswith('ver:')}
 
 
 def dsh(command, group, exports=None):
@@ -132,9 +133,15 @@
 def parse_args():
     """Parse command-line arguments."""
     parser = argparse.ArgumentParser(description='Deploy MediaWiki')
-    parser.add_argument('--only-active', action='store_true', default=False)
-    parser.add_argument('message', nargs=argparse.REMAINDER)
-    return parser.parse_args()
+    parser.add_argument('--versions', type=lambda v: set(v.split()))
+    parser.add_argument('message', nargs='*', default=('(no message)',))
+    args = parser.parse_args()
+    args.message = ' '.join(args.message)
+    if 'active' in args.versions:
+        args.versions.remove('active')
+        args.versions.update(get_branches(
+            '%(MW_COMMON)s/wikiversions.cdb' % config)
+    return args
 
 
 def scap():
@@ -142,17 +149,13 @@
     start = time.time()
 
     config = get_config()
-    stats = Stats(config['MW_STATSD_HOST'], config['MW_STATSD_PORT'])
-
     args = parse_args()
-    message = ' '.join(args.message) or '(no message)'
     env = {}
-    if args.active:
-        branches = get_branches('%(MW_COMMON)s/wikiversions.cdb' % config)
-        env['MW_VERSIONS_SYNC'] = ' '.join(branches)
+    if args.version:
+        env['MW_VERSIONS_SYNC'] = ' '.join(args.versions)
 
     with lock('/var/lock/scap'):
-        log.info('started scap: %s', message)
+        log.info('started scap: %s', args.message)
 
         log.debug('Checking syntax')
         check_syntax('%(MW_COMMON_SOURCE)s/wmf-config' % config)
@@ -195,8 +198,9 @@
     duration = time.time() - start
 
     human_duration = '%02dm %02ds' % divmod(duration, 60)
-    log.info('finished scap: %s (duration: %s)', message, human_duration)
+    log.info('finished scap: %s (duration: %s)', args.message, human_duration)
 
+    stats = Stats(config['MW_STATSD_HOST'], config['MW_STATSD_PORT'])
     stats.increment('scap.scap')
     stats.timing('scap.scap', duration * 1000)
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I07b158ca4a308a0ba902f920f07819f73044663a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/scap
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>

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

Reply via email to