A very good example is that a normal looking first commit gets approved. In the next commit the PR author exfiltrates GitHub secrets by base64ing them and logging in the workflow run (or any other way).
Boom - now your CI infra AWS S3 testing bucket, Google BigQuery keys etc. are leaked.
Runtime is also easy to work-around - repeatedly push commits with a execution time limit on the CI workflow to avoid triggering outlier detection.
A trusted PR author today doesn't guarantee trust tomorrow. Also your trust on some other repo doesn't (and shouldn't) transfer across repos.
> It also would be fair to allow maintainers that do not > want this load to mark their repos as open-source but > closed to contributions.
This is already possible.
Environment secrets are not exposed to PRs, so this does not work. This really only concerns DoS.
I did this quite some time ago but they may have added better limits in place.
How? I did not find it possible to turn off pull requests when I last looked. Is that something they've added recently?
Discussion: https://github.com/dear-github/dear-github/issues/84
Though ironically people have used GitHub Actions to auto-close all incoming pull-requests. XD
If the build is broken, a review is likely to be less reliable.
> If the pull request is updated to a new commit, a new approval will be required.
What?!
It'd be much more palatable if the manual approvals were more selective. For example:
- only invoked if a job takes more than 1.5x or 2x the max recorded run-time for the job.
- some notion of PR-author's karma being used to throttle manual approvals from maintainers.
It also would be fair to allow maintainers that do not want this load to mark their repos as open-source but closed to contributions.
[edit] formatting