Ruleset "Status checks that are required" matches the wrong source #199130
Replies: 4 comments 1 reply
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
|
We hit the same thing and tested the merge itself, on a private repository in a Team organization. A throwaway GitHub App, not the source any rule names, posted check runs under the names of four required checks. Each check is bound to a specific App in a branch ruleset. The App also approved the PR. What the UI and API reported:
What a merge did: the App's
Commit statuses from the same App got the same refusal. So the source binding did hold, and the display is what misleads: nothing on the merge box says the result came from the wrong source. A person, or a tool reading It would help if the row showed that the result doesn't count, for example "from an unexpected source", and if Not tested: a commit status posted by a user with write access rather than an App. |
|
Interesting find! The distinction between a successful commit status and the expected GitHub App identity seems to be the key issue here. From the reproduction, CircleCI OAuth reports the status as I think the UI should distinguish between:
Showing a green checkmark without making that distinction is misleading, especially when the merge is ultimately blocked. Ideally, GitHub should surface the exact mismatch directly in the PR checks section and disable the merge action with a clear explanation instead of waiting until the user attempts to merge. Thanks for providing such a detailed reproduction! |
Modifying a GitHub App registrationAfter registering a GitHub App, you can make changes to it. About GitHub App modificationsYou can modify your GitHub App registration to change any of the settings that were selected when the app was initially registered. For more information about the settings you can select while registering a GitHub App, see Registering a GitHub App. For example, you can change the name and description of your app, the permissions granted to your app, the webhooks your app subscribes to, or the visibility of your app. You can also choose to test new optional features for your GitHub App. See Activating optional features for GitHub Apps. Navigating to your GitHub App settingsTo modify a GitHub App, first navigate to the app settings page.
Changing the basic information of a GitHub AppYou can change the basic information of your GitHub App, like the name of the app, the description of the app, and the homepage URL of the app.
Requesting user authorization (OAuth) during installationYou can prompt users to authorize your GitHub App when they install it and generate a user access token. When you request user authorization (OAuth) during installation, you must also provide a callback URL where the user will be redirected after they authorize the installation. See Generating a user access token for a GitHub App.
Enabling or disabling the device flowYou can use the device flow to authorize users for a headless app like a CLI tool or Git credential manager. For more information about using the device flow with GitHub Apps, see Generating a user access token for a GitHub App.
Adding or updating a setup URLYou can redirect people to a specific URL after they install your app. See Registering a GitHub App. If you select Request user authorization (OAuth) during installation, you will not be able to enter a setup URL. Users will instead be redirected to the Callback URL as part of the authorization flow, where you can describe additional setup. See About the user authorization callback URL.
Changing the permissions of a GitHub AppYou can change the access permissions that are granted to your GitHub App using the following steps. When you add new repository or organization permissions for an app, each account where the app is installed will need to approve the new permissions. When you add account permissions for an app, each user that has authorized the app will need to approve the permission changes. In both cases, GitHub will send an email to each organization owner or user, notifying them of the request to update the app's permissions. Updated permissions won't take effect on an installation or user authorization until the new permissions are approved. You can use the installation webhook to find out when people accept new permissions for your app. If you remove permissions or webhooks from your GitHub App, the changes will take effect immediately. If you remove permissions that were previously granted to your app, the app will no longer be able to access those resources. Changing the permissions of an app may also change the webhooks that your app can subscribe to and the actions that your app can take with the API. See Choosing permissions for a GitHub App.
Activating or deactivating the GitHub App webhookYou can configure your GitHub App to receive webhooks for specific events on GitHub and automatically take action on them. See Using webhooks with GitHub Apps.
Changing the webhook event subscriptions of a GitHub AppYou can change the webhook events that a GitHub App subscribes to using the following steps. The specific webhook events that you can select for your GitHub App registration are determined by the type of permissions you selected for your app. You will first need to select the permissions you would like your app to have, and then you can subscribe your app to webhook events that are related to that set of permissions. See Using webhooks with GitHub Apps.
Changing the visibility of a GitHub AppYou can change the visibility settings of your GitHub App to control who can install it. Public apps cannot be made private if they're installed on other accounts. See Making a GitHub App public or private.
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Bug
Reproduction
Take mui/mui-x#22792, the last commit is mui/mui-x@7e38354. The CI checks passes,
gh api repos/mui/mui-x/commits/7e38354625ec2f55af3e9bdc7be7a57038d5354b/statusreturns:{ "state": "success", "statuses": [ { "url": "https://api.github.com/repos/mui/mui-x/statuses/7e38354625ec2f55af3e9bdc7be7a57038d5354b", "avatar_url": "https://avatars.githubusercontent.com/oa/4808?v=4", "id": 48971127823, "node_id": "SC_kwDOD4Lzcc8AAAALZugcDw", "state": "success", "description": "Your tests passed on CircleCI!", "target_url": "https://circleci.com/gh/mui/mui-x/861543", "context": "ci/circleci: test_charts_benchmark", "created_at": "2026-06-15T15:18:39Z", "updated_at": "2026-06-15T15:18:39Z" },So the checks pass from the CircleCI Oauth app.
We also have rulesets for this repository https://github.com/mui/mui-x/rules/549908. There, it expects the checks to come from the CircleCI GitHub App.
Actual
In practice, people can't merge, but the UI of the PR makes it look like the checks pass:
mui/mui-x#22817
It's only once you try to merge the PR that it returns an obscure error message:
Expected
The UI above is wrong; it should clearly show that the checks are not met.
For example, it could look like this:
and the merge button could be blocked.
All reactions