You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/services
Jason Song edf98a2dc3
Require approval to run actions for fork pull request (#22803)
Currently, Gitea will run actions automatically which are triggered by
fork pull request. It's a security risk, people can create a PR and
modify the workflow yamls to execute a malicious script.

So we should require approval for first-time contributors, which is the
default strategy of a public repo on GitHub, see [Approving workflow
runs from public
forks](https://docs.github.com/en/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks).

Current strategy:

- don't need approval if it's not a fork PR;
- always need approval if the user is restricted;
- don't need approval if the user can write;
- don't need approval if the user has been approved before;
- otherwise, need approval.

https://user-images.githubusercontent.com/9418365/217207121-badf50a8-826c-4425-bef1-d82d1979bc81.mov

GitHub has an option for that, you can see that at
`/<owner>/<repo>/settings/actions`, and we can support that later.

<img width="835" alt="image"
src="https://user-images.githubusercontent.com/9418365/217199990-2967e68b-e693-4e59-8186-ab33a1314a16.png">

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
1 year ago
..
actions Require approval to run actions for fork pull request (#22803) 1 year ago
agit Rename almost all Ctx functions (#22071) 1 year ago
asymkey Add context cache as a request level cache (#22294) 1 year ago
attachment Add API management for issue/pull and comment attachments (#21783) 1 year ago
auth Use minio/sha256-simd for accelerated SHA256 (#23052) 1 year ago
automerge Add force_merge to merge request and fix checking mergable (#23010) 1 year ago
context Support org/user level projects (#22235) 1 year ago
convert Fix SyncOnCommit always return false in API of push_mirrors (#23088) 1 year ago
cron Add Cargo package registry (#21888) 1 year ago
externalaccount Implement FSFE REUSE for golang files (#21840) 1 year ago
forms Add force_merge to merge request and fix checking mergable (#23010) 1 year ago
gitdiff Refactor git command package to improve security and maintainability (#22678) 1 year ago
issue Webhooks: for issue close/reopen action, add commit ID that caused it (#22583) 1 year ago
lfs Use minio/sha256-simd for accelerated SHA256 (#23052) 1 year ago
mailer Use minio/sha256-simd for accelerated SHA256 (#23052) 1 year ago
markup Implement FSFE REUSE for golang files (#21840) 1 year ago
migrations Scoped labels (#22585) 1 year ago
mirror Use proxy for pull mirror (#22771) 1 year ago
org Implement FSFE REUSE for golang files (#21840) 1 year ago
packages Use import of OCI structs (#22765) 1 year ago
pull Add force_merge to merge request and fix checking mergable (#23010) 1 year ago
release Add context cache as a request level cache (#22294) 1 year ago
repository Return empty url for submodule tree entries (#23043) 1 year ago
task Implement FSFE REUSE for golang files (#21840) 1 year ago
user Add context cache as a request level cache (#22294) 1 year ago
webhook Use minio/sha256-simd for accelerated SHA256 (#23052) 1 year ago
wiki Improve utils of slices (#22379) 1 year ago