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
sillyguodong 5eea61dbc8
Fix missing commit status in PR which from forked repo (#23351)
close: #23347

### Reference and Inference
According to Github REST API
[doc](https://docs.github.com/en/rest/commits/statuses?apiVersion=2022-11-28#list-commit-statuses-for-a-reference):
1. The `Drone CI` that can create some commit status by
[API](https://docs.github.com/en/rest/commits/statuses?apiVersion=2022-11-28#create-a-commit-status)
is enabled in `go-gitea/gitea`. So I tried to call the API to get a
commit status list of a PR which is commited to upstream
repo(`go-gitea/gitea`). As a result, the API returned a array of commit
status.

![image](https://user-images.githubusercontent.com/33891828/223913371-313d047a-5e2e-484c-b13e-dcd38748703e.png)
2. Then I tried to call the API to get commit status list of the
reference which of the `SHA` is the same as step 1 in the repo which is
forked from `go-gitea/gitea`. But I got a empty array.

![image](https://user-images.githubusercontent.com/33891828/223930827-17a64d3c-f466-4980-897c-77fe386c4d3b.png)

So, I believe it that:
1. The commit status is not shared between upstream repo and forked
repo.
2. The coomit status is bound to a repo that performs actions. (Gitea's
logic is the same)

### Cause
During debugging, I found it that commit status are not stored in the DB
as expected.
So, I located the following code:

8cadd51bf2/services/actions/commit_status.go (L18-L26)
When I create a PR, the type of `event` is `pull request`, not `push`.
So the code return function directly.

### Screenshot

![image](https://user-images.githubusercontent.com/33891828/223939339-dadf539c-1fdd-40c4-96e9-2e4fa733f531.png)

![image](https://user-images.githubusercontent.com/33891828/223939519-edb02bf0-2478-4ea5-9366-be85468f02db.png)

![image](https://user-images.githubusercontent.com/33891828/223939557-ec6f1375-5536-400e-8987-fb7d2fd452fa.png)



### Other 
In this PR, I also fix the problem of missing icon which represents
running in PRs list.

![image](https://user-images.githubusercontent.com/33891828/223939898-2a0339e4-713f-4c7b-9d99-2250a43f3457.png)

![image](https://user-images.githubusercontent.com/33891828/223939979-037a975f-5ced-480c-bac7-0ee00ebfff4b.png)
1 year ago
..
actions Fix missing commit status in PR which from forked repo (#23351) 1 year ago
agit Rename almost all Ctx functions (#22071) 2 years ago
asymkey Add context cache as a request level cache (#22294) 1 year ago
attachment Preserve file size when creating attachments (#23406) 1 year ago
auth Handle OpenID discovery URL errors a little nicer when creating/editing sources (#23397) 1 year ago
automerge Add force_merge to merge request and fix checking mergable (#23010) 1 year ago
context Add missing tabs to org projects page (#22705) 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) 2 years ago
forms Add Swift package registry (#22404) 1 year ago
gitdiff Fix broken code editor diff preview (#23307) 1 year ago
issue Webhooks: for issue close/reopen action, add commit ID that caused it (#22583) 2 years ago
lfs Use minio/sha256-simd for accelerated SHA256 (#23052) 1 year ago
mailer Preserve file size when creating attachments (#23406) 1 year ago
markup Implement FSFE REUSE for golang files (#21840) 2 years ago
migrations Use CleanPath instead of path.Clean (#23371) 1 year ago
mirror Fill head commit to in payload when notifying push commits for mirroring (#23215) 1 year ago
org Implement FSFE REUSE for golang files (#21840) 2 years ago
packages Add Swift package registry (#22404) 1 year ago
pull Improve squash merge commit author and co-author with private emails (#22977) 1 year ago
release Preserve file size when creating attachments (#23406) 1 year ago
repository Add user webhooks (#21563) 1 year ago
task Implement FSFE REUSE for golang files (#21840) 2 years ago
user Add context cache as a request level cache (#22294) 1 year ago
webhook Add user webhooks (#21563) 1 year ago
wiki Improve utils of slices (#22379) 2 years ago