Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix missing commit status in PR which from forked repo (#23351) #23453

Merged
merged 1 commit into from
Mar 14, 2023

Commits on Mar 13, 2023

  1. Fix missing commit status in PR which from forked repo (go-gitea#23351)

    close: go-gitea#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:
    
    https://github.com/go-gitea/gitea/blob/8cadd51bf295e6ff36ac36efed68cc5de34c9382/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)
    sillyguodong authored and GiteaBot committed Mar 13, 2023
    Configuration menu
    Copy the full SHA
    7c75f1d View commit details
    Browse the repository at this point in the history