def METHOD_NAME(self, options, args):
    """Run the deployment."""
    # Check if ghp-import is installed
    check_ghp_import_installed()
    # Build before deploying
    build = main(['build'])
    if build != 0:
        self.logger.error('Build failed, not deploying to GitHub')
        return build
    # Clean non-target files
    only_on_output, _ = real_scan_files(self.site)
    for f in only_on_output:
        os.unlink(f)
    # Remove drafts and future posts if requested (Issue #2406)
    undeployed_posts = clean_before_deployment(self.site)
    if undeployed_posts:
        self.logger.warning("Deleted {0} posts due to DEPLOY_* settings".format(len(undeployed_posts)))
    # Commit and push
    return self._commit_and_push(options['commit_message'])