gecko-dev/taskcluster/taskgraph/actions/purge_caches.py
Brian Stack d2c0e62e07 Bug 1401000- Add a purge-cache action r=dustin
MozReview-Commit-ID: CaEizD3jYmc

--HG--
extra : rebase_source : 7916ab82b5a92376b15980cf5bd6a213ee40c4ae
2017-10-13 11:22:42 -07:00

34 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import absolute_import, print_function, unicode_literals
import logging
from taskgraph.util.taskcluster import purge_cache
from .registry import register_callback_action
logger = logging.getLogger(__name__)
@register_callback_action(
title='Purge Caches',
name='purge-caches',
symbol='purge-caches',
description=(
'Purge any caches associated with this task '
'across all workers of the same workertype as the task.'
),
order=100,
context=[{'worker-implementation': 'docker-worker'}]
)
def purge_caches_action(parameters, input, task_group_id, task_id, task):
if task['payload'].get('cache'):
for cache in task['payload']['cache']:
purge_cache(task['provisionerId'], task['workerType'], cache, use_proxy=True)
else:
logger.info('Task has no caches. Will not clear anything!')