Run stages in parallel - GitHub Import
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Work on this issue](https://contributors.gitlab.com/manage-issue?action=work&projectId=278964&issueIid=441147) - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=441147) </details> <!--IssueSummary end--> https://gitlab.com/gitlab-org/gitlab/-/issues/438280 investigate how we can improve GitHub Import performance by running stages in parallel. It seems that when using a 15k access token, running stages in parallel could improve the migration performance by ~36%. And when using a 5k access token, the improvement would be ~15%. ### Proposed solution Enable GitHub Import to run stages in parallel, similar to how it was done in the [POC](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142484/) Remember that on https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142732, the stage order was updated to run collaborators before other stages. So, stages should be executed in the following order: ```mermaid graph Stage::ImportRepositoryWorker-->Stage::ImportProtectedBranchesWorker Stage::ImportRepositoryWorker-->Stage::ImportLfsObjectsWorker Stage::ImportRepositoryWorker-->Stage::ImportCollaboratorsWorker Stage::ImportBaseDataWorker-->Stage::ImportReleasesAttachmentsWorker Stage::ImportCollaboratorsWorker-->Stage::ImportBaseDataWorker Stage::ImportBaseDataWorker-->Stage::ImportPullRequestsWorker Stage::ImportPullRequestsWorker-->Stage::ImportDiffNotesWorker Stage::ImportPullRequestsWorker-->Stage::ImportPullRequestsEventsWorker Stage::ImportPullRequestsWorker-->Stage::ImportPullRequestsAttachmentsWorker Stage::ImportPullRequestsEventsWorker-->Stage::ImportPullRequestNoteAttachmentsWorker Stage::ImportBaseDataWorker-->Stage::ImportIssuesWorker Stage::ImportIssuesWorker-->Stage::ImportIssueEventsWorker Stage::ImportIssuesWorker-->Stage::ImportIssueAttachmentsWorker Stage::ImportIssueEventsWorker-->Stage::ImportIssueNoteAttachmentsWorker ```
issue