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/models
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
activities Refactor `setting.Database.UseXXX` to methods (#23354) 1 year ago
admin Implement FSFE REUSE for golang files (#21840) 2 years ago
asymkey Refactor the setting to make unit test easier (#22405) 1 year ago
auth Add user webhooks (#21563) 1 year ago
avatars Avoid warning for system setting when start up (#23054) 1 year ago
db Test renderReadmeFile (#23185) 1 year ago
dbfs Refactor the setting to make unit test easier (#22405) 1 year ago
fixtures Add user webhooks (#21563) 1 year ago
git Use CleanPath instead of path.Clean (#23371) 1 year ago
issues Fix cannot reopen after pushing commits to a closed PR (#23189) 1 year ago
migrations Add user webhooks (#21563) 1 year ago
organization Add missing tabs to org projects page (#22705) 1 year ago
packages Add Swift package registry (#22404) 1 year ago
perm Rename `repo.GetOwner` to `repo.LoadOwner` (#22967) 1 year ago
project Refactor `setting.Database.UseXXX` to methods (#23354) 1 year ago
pull refactor some functions to support ctx as first parameter (#21878) 2 years ago
repo Use context for `RepositoryList.LoadAttributes` (#23435) 1 year ago
secret Secrets storage with SecretKey encrypted (#22142) 2 years ago
system Avoid warning for system setting when start up (#23054) 1 year ago
unit Repositories: by default disable all units except code and pulls on forks (#22541) 1 year ago
unittest Refactor `setting.Database.UseXXX` to methods (#23354) 1 year ago
user Add missing tabs to org projects page (#22705) 1 year ago
webhook Add user webhooks (#21563) 1 year ago
error.go Implement FSFE REUSE for golang files (#21840) 2 years ago
fixture_generation.go Implement FSFE REUSE for golang files (#21840) 2 years ago
fixture_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
main_test.go Refactor the setting to make unit test easier (#22405) 1 year ago
migrate.go Check primary keys for all tables and drop ForeignReference (#21721) 2 years ago
migrate_test.go Check primary keys for all tables and drop ForeignReference (#21721) 2 years ago
org.go refactor some functions to support ctx as first parameter (#21878) 2 years ago
org_team.go Supports wildcard protected branch (#20825) 2 years ago
org_team_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
org_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
repo.go Avoid warning for system setting when start up (#23054) 1 year ago
repo_collaboration.go refactor some functions to support ctx as first parameter (#21878) 2 years ago
repo_collaboration_test.go Rename `repo.GetOwner` to `repo.LoadOwner` (#22967) 1 year ago
repo_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
repo_transfer.go Always reuse transaction (#22362) 2 years ago
repo_transfer_test.go Rename almost all Ctx functions (#22071) 2 years ago