docs: def get_repo_info(repo_name, profile='github', ignore_cache=False):
      '''
      Return information for a given repo.
  
      .. versionadded:: 2016.11.0
  
      repo_name
          The name of the repository.
  
      profile
          The name of the profile configuration to use. Defaults to ``github``.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion github.get_repo_info salt
          salt myminion github.get_repo_info salt profile='my-github-profile'
      '''
  
      org_name = _get_config_value(profile, 'org_name')
      key = "github.{0}:{1}:repo_info".format(
          _get_config_value(profile, 'org_name'),
          repo_name.lower()
      )
  
      if key not in __context__ or ignore_cache:
          client = _get_client(profile)
          try:
              repo = client.get_repo('/'.join([org_name, repo_name]))
              if not repo:
                  return {}
  
              # client.get_repo can return a github.Repository.Repository object,
              # even if the repo is invalid. We need to catch the exception when
              # we try to perform actions on the repo object, rather than above
              # the if statement.
              ret = _repo_to_dict(repo)
  
              __context__[key] = ret
          except github.UnknownObjectException:
              raise CommandExecutionError(
                  'The \'{0}\' repository under the \'{1}\' organization could not '
                  'be found.'.format(
                      repo_name,
                      org_name
                  )
              )
      return __context__[key]