__author__ = "Vanessa Sochat"
__copyright__ = "Copyright 2022, Vanessa Sochat"
__license__ = "MPL 2.0"
from action_updater.main.updater import UpdaterBase
from action_updater.main.updaters.setoutput.update import update_lines
[docs]class SetenvUpdater(UpdaterBase):
    name = "set-env"
    description = "update deprecated set-env commands"
[docs]    def detect(self, action):
        """
        Detect changes in an action, old set-env.
        """
        # Set the count to 0
        self.count = 0
        # No point if we don't have jobs!
        if not action.steps:
            return False
        # For each job, look for steps->updater versions
        for step in action.steps:
            # We are primarily interested in uses
            if "run" not in step:
                continue
            # Update step run lines
            updated_lines = update_lines(step["run"], "set-env", "$GITHUB_ENV")
            # Keep track of change counts
            if updated_lines != step["run"]:
                self.count += 1
            step["run"] = updated_lines
        return self.count != 0