#!/usr/bin/env python3 # Copyright 2019 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Clobbers all builder caches for a specific builder. Note that this currently does not support windows. """ import argparse import hashlib import sys import clobber_cache_utils def main(raw_args): parser = argparse.ArgumentParser() clobber_cache_utils.add_common_args(parser) parser.add_argument('--builder', required=True) parser.add_argument('--bucket', required=True) parser.add_argument('--project', default='chromium') parser.add_argument('--pool', default=None) parser.add_argument('--bot-id', default=None) args = parser.parse_args(raw_args) # Matches http://bit.ly/2WZO33P string_to_hash = '%s/%s/%s' % (args.project, args.bucket, args.builder) h = hashlib.sha256(string_to_hash.encode('utf-8')) cache = 'builder_%s_v2' % (h.hexdigest()) pool = args.pool or 'luci.%s.%s' % (args.project, args.bucket) clobber_cache_utils.clobber_caches(args.swarming_server, pool, '%s:%s' % (args.project, args.bucket), cache, 'cache/builder', args.dry_run, bot_id=args.bot_id) return 0 if __name__ == '__main__': sys.exit(main(sys.argv[1:]))