Some task require fetch code from another repositories, now is implemente by using sparse-checkout, also exist another solutions. One I am implemented today(First). They based on GitHub API. First - download archive for whole project, Second - collect changes by commit and download files that changed. So, what is approach we should use?
The first approach is unstable but easy and theoretically portable, the second approach can be integrated in CI, but can download archive only fore whole project