Make GitLab CI/CD work better with external repositories
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
### Description
Several customers and prospects are interested in having a full CI/CD experience using GitLab CI/CD, but with the code repository hosted on external services, like GitHub or BitBucket.
GitLab CI/CD relies heavily on having the code in a local repo, and cannot be linked to external ones. One possible solution is to cache the external project on GitLab, and run pipelines from here, with status updated back to GitHub/BitBucket via their Status API. It is also useful to make the setup easy for users and provide a good user experience when using a GitLab just for CI/CD.
The first external service to be supported is GitHub.
epic