def validate(self):
        """
        Function which performs a simple compile time validation.

        Keep in mind that some variables are only resolved during run time which means we can
        perform only simple validation during compile / create time.
        """
        all_nodes = self._get_all_nodes(action_chain=self.actionchain)

        for node in self.actionchain.chain:
            on_success_node_name = node.on_success
            on_failure_node_name = node.on_failure

            # Check "on-success" path
            valid_name = self._is_valid_node_name(
                all_node_names=all_nodes, node_name=on_success_node_name
            )
            if not valid_name:
                msg = (
                    'Unable to find node with name "%s" referenced in "on-success" in '
                    'task "%s".' % (on_success_node_name, node.name)
                )
                raise ValueError(msg)

            # Check "on-failure" path
            valid_name = self._is_valid_node_name(
                all_node_names=all_nodes, node_name=on_failure_node_name
            )
            if not valid_name:
                msg = (
                    'Unable to find node with name "%s" referenced in "on-failure" in '
                    'task "%s".' % (on_failure_node_name, node.name)
                )
                raise ValueError(msg)

        # check if node specified in default is valid.
        if self.actionchain.default:
            valid_name = self._is_valid_node_name(
                all_node_names=all_nodes, node_name=self.actionchain.default
            )
            if not valid_name:
                msg = (
                    'Unable to find node with name "%s" referenced in "default".'
                    % self.actionchain.default
                )
                raise ValueError(msg)
        return True

        Function which performs a simple compile time validation.

        Keep in mind that some variables are only resolved during run time which means we can
        perform only simple validation during compile / create time.
        
contrib/runners/action_chain_runner/action_chain_runner/action_chain_runner.py