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
Add a guard job to prevent accidental auto-merging of PRs when cross-version tests fail #10210
Add a guard job to prevent accidental auto-merging of PRs when cross-version tests fail #10210
Conversation
Signed-off-by: TomeHirata <tomu.hirata@gmail.com>
Documentation preview for a1cdac3 will be available here when this CircleCI job completes successfully. More info
|
Question: should we add an instruction about the auto-merge label to https://github.com/mlflow/mlflow/blob/master/CONTRIBUTING.md? |
@TomeHirata I found a better and simpler solution to solve the original problem. Can we close this and revisit later in the future if necessary? --- EDIT --- The solution may not work. Let me think. |
Yes, we should, but we add it later as a follow-up after we confirm everything works as expected. |
Signed-off-by: TomeHirata <tomu.hirata@gmail.com>
Signed-off-by: TomeHirata <tomu.hirata@gmail.com>
Signed-off-by: TomeHirata <tomu.hirata@gmail.com>
a4a6bb7
to
9ca5fc6
Compare
Signed-off-by: TomeHirata <tomu.hirata@gmail.com>
52d3d91
to
eccd76c
Compare
Signed-off-by: harupy <hkawamura0130@gmail.com>
Signed-off-by: harupy <hkawamura0130@gmail.com>
@harupy I saw your PR was correctly merged after approving it. Please let me know if any further tests/modifications are needed. 🙏 |
@TomeHirata I found a few more issues in the current implementation.
|
That's a good point. I'll work on #2. Regarding the first issue of multiple checks, could you elaborate on why this will become an issue? Do we need to worry about the status of |
Yes, this isn't specific to the post-merge. The same thing can happen to other jobs. Imagine the following scenario:
After this, the first commit two runs for each job. The first run could be canceled. If so, that would block automerge because cancled is not skipped or success. |
Thank you for the explanation, yes it is possible. Then, should we group the check runs by a unique check identifier (need to figure out) and check the status of the latest run? |
Yes, that should work. |
Signed-off-by: TomeHirata <tomu.hirata@gmail.com>
Thanks for the updates! Can we manually create a commit status using https://docs.github.com/en/rest/commits/statuses?apiVersion=2022-11-28#create-a-commit-status? |
@TomeHirata After some thought, I think adding a guard job is simpler and much safer than the current approach. The guard job does the following:
Example: #10368 I can push updates to this PR if this sounds good to you. |
That is similar to what I was thinking when I asked this question. I agree that having a synchronous job triggered per PR is better to work with. Is it correct that you plan to make the job required in the Github setting? |
Yes, that's the plan. |
Sure, then this also sounds to me. Please feel free to push changes to the PR. |
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-LGTM!
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
@TomeHirata Thanks for the patience! I underestimated the complexity of PR merge. Glad we settled on a safe and simple solution. |
@TomeHirata Can we resume the work on #9939? |
@TomeHirata Thanks for the reply!
#9939 is actually like a design (for more details, please take a look at the attached PDF). We need to add unit tests and docs. Design doc: Copy of [2023-11-18] One-Decision Doc_ Rate limits for OSS AI Gateway.pdf
Left some comments, thanks for working on this! |
Thank you for the reply, let me take a look at the doc and the current state of the PR. |
…version tests fail (mlflow#10210) Signed-off-by: TomeHirata <tomu.hirata@gmail.com> Signed-off-by: harupy <hkawamura0130@gmail.com> Signed-off-by: TomuHirata <tomu.hirata@gmail.com> Signed-off-by: harupy <17039389+harupy@users.noreply.github.com> Co-authored-by: harupy <hkawamura0130@gmail.com> Co-authored-by: harupy <17039389+harupy@users.noreply.github.com> Signed-off-by: swathi <konakanchi.swathi@gmail.com>
🛠 DevTools 🛠
Install mlflow from this PR
Checkout with GitHub CLI
Related Issues/PRs
Resolve #10069
What changes are proposed in this pull request?
Cross-version tests can't be marked as required because they get triggered conditionally.
How is this PR tested?
Existing unit/integration tests
New unit/integration tests
Manual tests
Story 1: When a PR has not completed all checks, this workflow skips the PR
Story 2: When a PR has completed all checks, this workflow merges the PR
Does this PR require documentation update?
Release Notes
Is this a user-facing change?
What component(s), interfaces, languages, and integrations does this PR affect?
Components
area/artifacts
: Artifact stores and artifact loggingarea/build
: Build and test infrastructure for MLflowarea/docs
: MLflow documentation pagesarea/examples
: Example codearea/gateway
: AI Gateway service, Gateway client APIs, third-party Gateway integrationsarea/model-registry
: Model Registry service, APIs, and the fluent client calls for Model Registryarea/models
: MLmodel format, model serialization/deserialization, flavorsarea/recipes
: Recipes, Recipe APIs, Recipe configs, Recipe Templatesarea/projects
: MLproject format, project running backendsarea/scoring
: MLflow Model server, model deployment tools, Spark UDFsarea/server-infra
: MLflow Tracking server backendarea/tracking
: Tracking Service, tracking client APIs, autologgingInterface
area/uiux
: Front-end, user experience, plotting, JavaScript, JavaScript dev serverarea/docker
: Docker use across MLflow's components, such as MLflow Projects and MLflow Modelsarea/sqlalchemy
: Use of SQLAlchemy in the Tracking Service or Model Registryarea/windows
: Windows supportLanguage
language/r
: R APIs and clientslanguage/java
: Java APIs and clientslanguage/new
: Proposals for new client languagesIntegrations
integrations/azure
: Azure and Azure ML integrationsintegrations/sagemaker
: SageMaker integrationsintegrations/databricks
: Databricks integrationsHow should the PR be classified in the release notes? Choose one:
rn/none
- No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" sectionrn/breaking-change
- The PR will be mentioned in the "Breaking Changes" sectionrn/feature
- A new user-facing feature worth mentioning in the release notesrn/bug-fix
- A user-facing bug fix worth mentioning in the release notesrn/documentation
- A user-facing documentation change worth mentioning in the release notes