my use case
I also have the same need.
There are multiple repositories, between 10-100 or more that could use the same build steps.
In addition of being DRY, being able to change the build steps of those 100 repositories at once is a powerful tool when managing the CI of modular applications where each module is in a separate repository. The modules could even be developed by another party and the module should be tested with latest code of our repository run by our CI script when changes are done in the other party’s repository.
It seems that the issue here is similar: External workflow configuration
It seems that it could be possible to use the method provided here as a workaround: Trigger a workflow from another workflow
In this method the many repositories can trigger a workflow in another repository, potentially with some parameters.
The downside is that every tested repository needs to have (write?) access to the repository that executes the CI. I am unsure if its possible to report back the success or failure to the initiator of the CI test.
Second workaround that I have used previously for unifying CI of multiple branches has been to make a single script that spawns a job every day or every week for every repository that is defined. The script then runs the same steps - with given parameters. The CI script could even run a setup script from each branch, which can be unique to that branch.
The downside is that every tested repository needs to be added to this CI script and that the tests cannot use events, such as pull request, push and so.
Third workaround is to make all steps into bash scripts that are hosted in another repository. These bash scripts are then cloned and run. The same can be done with an action.
The downside is that we cannot configure the entire workflow, only some steps of it.
Fourth workaround is to just push new workflows with automation, such as https://github.com/marketplace/actions/deploy-github-actions
The downside is that pushing requires access to the repository and listing of the repositories to push to.
Seems github requests filling a form for feature requests and feedback:
If you have feedback or feature requests for GitHub Actions, share those in the Feedback form for GitHub Actions.