docs: def run_epilogue(self):
          """Run the epilogue script in the current working directory.
  
          raises:
              subprocess.CalledProcessError: if the script does not finish with
                  exit code zero.
          """
          logger = logging.getLogger(__name__)
          if self.epilogue is not None:
              with tempfile.NamedTemporaryFile('w', delete=False) as epilogue_fh:
                  epilogue_fh.write(self.epilogue)
                  tempfilename = epilogue_fh.name
              set_executable(tempfilename)
              try:
                  sp.check_output( [tempfilename, ], stderr=sp.STDOUT)
              except sp.CalledProcessError as e:
                  logger.error(dedent(r'''
                  Epilogue script did not exit cleanly.
                  CWD: {cwd}
                  epilogue: ---
                  {epilogue}
                  ---
                  response: ---
                  {response}
                  ---
                  ''').format(cwd=os.getcwd(), epilogue=self.epilogue,
                              response=e.output))
                  raise
              finally:
                  os.unlink(tempfilename)