0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-28 02:14:06 -05:00
forgejo/services
Giteabot 1543ac9c8d
Fix missing commit status in PR which from forked repo (#23351) (#23453)
Backport #23351 by @sillyguodong

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)

Co-authored-by: sillyguodong <33891828+sillyguodong@users.noreply.github.com>
2023-03-14 08:11:31 +08:00
..
actions Fix missing commit status in PR which from forked repo (#23351) (#23453) 2023-03-14 08:11:31 +08:00
agit Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
asymkey Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
attachment Preserve file size when creating attachments (#23406) (#23426) 2023-03-12 12:45:39 +01:00
auth Handle OpenID discovery URL errors a little nicer when creating/editing sources (#23397) (#23403) 2023-03-10 08:29:28 -06:00
automerge Add force_merge to merge request and fix checking mergable (#23010) 2023-02-21 08:42:07 -06:00
context Add missing tabs to org projects page (#22705) (#23412) 2023-03-10 10:08:28 -06:00
convert Fix SyncOnCommit always return false in API of push_mirrors (#23088) (#23100) 2023-02-24 14:36:25 +08:00
cron Add Cargo package registry (#21888) 2023-02-05 18:12:31 +08:00
externalaccount Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
forms Add force_merge to merge request and fix checking mergable (#23010) 2023-02-21 08:42:07 -06:00
gitdiff Fix broken code editor diff preview (#23307) (#23320) 2023-03-06 12:05:35 -06:00
issue Webhooks: for issue close/reopen action, add commit ID that caused it (#22583) 2023-01-24 23:47:53 -05:00
lfs Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
mailer Preserve file size when creating attachments (#23406) (#23426) 2023-03-12 12:45:39 +01:00
markup Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migrations Add loading yaml label template files (#22976) (#23232) 2023-03-01 21:57:34 -05:00
mirror Fill head commit to in payload when notifying push commits for mirroring (#23215) (#23292) 2023-03-04 19:02:50 +01:00
org Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages Use import of OCI structs (#22765) 2023-02-06 10:07:09 +00:00
pull Refactor and tidy-up the merge/update branch code (#22568) (#23365) 2023-03-09 22:15:39 -05:00
release Preserve file size when creating attachments (#23406) (#23426) 2023-03-12 12:45:39 +01:00
repository Return empty url for submodule tree entries (#23043) 2023-02-21 12:31:17 -05:00
task Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
user Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
webhook Fix intermittent panic in notify issue change content (#23019) 2023-02-20 19:15:49 -05:00
wiki Improve utils of slices (#22379) 2023-01-11 13:31:16 +08:00