<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_github_task(task):
 """Determine if a task is related to GitHub. This function currently looks into the ``schedulerId``, ``extra.tasks_for``, and ``metadata.source``. Args: task (dict):
 the task definition to check. Returns: bool: True if a piece of data refers to GitHub """

    return any((
        # XXX Cron tasks don't usually define 'taskcluster-github' as their schedulerId as they
        # are scheduled within another Taskcluster task.
        task.get('schedulerId') == 'taskcluster-github',
        # XXX Same here, cron tasks don't start with github
        task.get('extra', {}).get('tasks_for', '').startswith('github-'),
        is_github_url(task.get('metadata', {}).get('source', '')),
    ))