Hello everyone, Coming back to the thread. Apache Beam project solved the problem in a slightly different way than we did in Airflow, and I think it might be a bit better, so maybe that can lead to a recommendation from the INFRA.
https://github.com/apache/beam/pull/13670 Rather than cloning the whole repository to a new repo in 'apache' they copied and committed the action code into .github/actions/ folder in their project. This is great when it comes to reviewing the code and any changes incoming (because they go through regular review process and all the code is in). Also it is really nice approach if you want to quickly modify the action - you can do it all as part of the PR where you test it. It has a drawback of slightly more complex case when you want to upgrade to a newer version of the action, but it can be easily handled if you use subrepo: https://github.com/ingydotnet/git-subrepo. We've used subrepo extensively in a few projects and I really like it. It allows to turn linked repositories (and changes incoming) into single 'squashed' commits that land as 'subdirectory" in you repository. And the subrepo records the source of the 'subrepo' (location and commit), so if you want to update to another version, it will automatically get only the commit that changed since your previous pull. The code is committed together with your code (so as opposed to submodules you do not have to pull the repo separately). What's even more, when you make local changes, it will also allow you to make PR out of that to include it in the upstream code. So you can easily make your local modification and subrepo will keep track of that and allows also to merge it with the incoming changes if you want to upgrade to newer version.. I plan to switch to this approach in apache-airflow, and maybe that could be recommended approach for all projects. With this approach it is actually even easier to test and try certain actions (especially if you need to modify them) than if you use action in another repository.