mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 21:00:13 +01:00
Note that this will require changing the branch protections to use new names for all of the checks and be somewhat disruptive. There aren't any really good ways I could find of fixing this. Some options that I explored: - Have a single `pre-merge` workflow file that contains all of the other workflows, splitting as much of the logic as we can into re-usable files. This would basically merge testing, `pre-commit`, and `clangd-tidy` checking into a single workflow file. However, it would also delay the pre-commit suggestions action to only run once _all_ of these finish, rather than as soon as pre-commit finishes. - Serialize `pre-commit` and the rest of `pre-merge` to get the effect of the above option but without the downside. Instead, the downside would be serializing some of our actions. - Have a single `pre-merge` workflow that triggers whenever any of the other workflows completes, and have it check whether all the others have completed. It will fail until it reaches that point. This requires passing in GitHub keys to the workflow so that it can check the status of other checks, and documentation online seems to indicate it is sometimes flaky, I assume because of racing triggers of events or check-status not being guaranteed consistent in the queries. - Have a single `pre-merge` workflow that polls, waiting for all the other workflows to finish using some Python logic. This requires building and maintaining code to poll GitHub, keys to authorize that polling, and handling all of the failure modes of a polling operation -- timeouts, network issues, etc. Maybe there are others, but not sure what they look like. Suggestions welcome here. I'm hesitant to either delay the pre-commit suggestions or serialize pre-commit execution. And the complexity or flakiness of the other two options seem worse than having to re-work the branch protections each time the naming here changes. But interested if folks think a different direction would be better. Assisted-by: Antigravity with Gemini