forgejo/routers/web/repo
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>
2023-02-24 15:58:49 +08:00
..
actions Require approval to run actions for fork pull request (#22803) 2023-02-24 15:58:49 +08:00
activity.go
attachment.go
blame.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
branch.go
cherry_pick.go
commit.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
compare.go Use beforeCommit instead of baseCommit (#22949) 2023-02-20 11:56:07 +08:00
download.go
editor.go
editor_test.go
find.go
http.go Rename repo.GetOwner to repo.LoadOwner (#22967) 2023-02-18 20:11:03 +08:00
http_test.go
issue.go Scoped labels (#22585) 2023-02-18 21:17:39 +02:00
issue_content_history.go Move helpers to be prefixed with gt- (#22879) 2023-02-13 17:59:59 +00:00
issue_dependency.go
issue_label.go Scoped labels (#22585) 2023-02-18 21:17:39 +02:00
issue_label_test.go
issue_lock.go
issue_stopwatch.go
issue_test.go
issue_timetrack.go
issue_watch.go
lfs.go
main_test.go
middlewares.go
migrate.go
milestone.go
packages.go
patch.go Fix commit name in Apply Patch page (#23086) 2023-02-23 15:14:07 -06:00
projects.go
projects_test.go
pull.go Add force_merge to merge request and fix checking mergable (#23010) 2023-02-21 08:42:07 -06:00
pull_review.go
release.go
release_test.go
render.go
repo.go
runners.go
search.go
setting.go Rename repo.GetOwner to repo.LoadOwner (#22967) 2023-02-18 20:11:03 +08:00
setting_protected_branch.go Get rules by id when editing branch protection rule (#22932) 2023-02-20 19:30:41 +08:00
setting_secrets.go
settings_test.go
tag.go
topic.go
treelist.go
view.go Rename repo.GetOwner to repo.LoadOwner (#22967) 2023-02-18 20:11:03 +08:00
view_test.go
webhook.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
wiki.go
wiki_test.go