Source code for llvm_snapshot_builder.actions.delete_builds

"""
CoprActionDeleteBuilds
"""

import logging
from ..mixins.client_mixin import CoprClientMixin
from ..mixins.build_walker_mixin import CoprBuildWalkerMixin
from .action import CoprAction


[docs]class CoprActionDeleteBuilds( CoprAction, CoprClientMixin, CoprBuildWalkerMixin): """ Deletes builds with particular states. Attributes: delete_states (list): states to cancel """ delete_states = ["pending", "waiting", "running", "importing"] def __init__(self, states: list[str] = None, **kwargs): """ Initializes the action. Args: states (list): Build states of builds to delete. Defaults to delete_states. """ if states is None: states = self.delete_states super().__init__(states=states, **kwargs)
[docs] def run(self) -> bool: """ Runs the action. """ logging.info(f"delete builds with these states: {self.delete_states}") self.walk_builds(func=None) logging.info(f"delete these filtered builds {self.filtered_build_ids}") self.client.build_proxy.delete_list(self.filtered_build_ids) return True