Skip to content

Filter out cancelled workflow runs in protect.js#18703

Merged
harupy merged 2 commits intomasterfrom
copilot/update-ignore-canceled-runs
Nov 6, 2025
Merged

Filter out cancelled workflow runs in protect.js#18703
harupy merged 2 commits intomasterfrom
copilot/update-ignore-canceled-runs

Conversation

Copy link
Contributor

Copilot AI commented Nov 6, 2025

Related Issues/PRs

#xxx

What changes are proposed in this pull request?

The protect workflow monitors all workflow runs for a PR to prevent accidental auto-merges when required checks haven't completed. Previously, cancelled workflow runs were treated as incomplete jobs, causing the protect workflow to wait indefinitely for them.

This PR adds filtering to exclude cancelled workflow runs from consideration:

// Before
).filter(({ path }) => path !== ".github/workflows/protect.yml");

// After  
).filter(
  ({ path, conclusion }) =>
    path !== ".github/workflows/protect.yml" && conclusion !== "cancelled"
);

Cancelled runs are now ignored, allowing the protect workflow to correctly evaluate only active and completed runs.

How is this PR tested?

  • Existing unit/integration tests
  • New unit/integration tests
  • Manual tests

Verified JavaScript syntax is valid and code passes prettier formatting checks.

Does this PR require documentation update?

  • No. You can skip the rest of this section.
  • Yes. I've updated:
    • Examples
    • API references
    • Instructions

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/tracking: Tracking Service, tracking client APIs, autologging
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/evaluation: MLflow model evaluation features, evaluation metrics, and evaluation workflows
  • area/gateway: MLflow AI Gateway client APIs, server, and third-party integrations
  • area/prompts: MLflow prompt engineering features, prompt templates, and prompt management
  • area/tracing: MLflow Tracing features, tracing APIs, and LLM tracing functionality
  • area/projects: MLproject format, project running backends
  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages

How 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" section
  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

Should this PR be included in the next patch release?

Yes should be selected for bug fixes, documentation updates, and other small changes. No should be selected for new features and larger changes. If you're unsure about the release classification of this PR, leave this unchecked to let the maintainers decide.

What is a minor/patch release?
  • Minor release: a release that increments the second part of the version number (e.g., 1.2.0 -> 1.3.0).
    Bug fixes, doc updates and new features usually go into minor releases.
  • Patch release: a release that increments the third part of the version number (e.g., 1.2.0 -> 1.2.1).
    Bug fixes and doc updates usually go into patch releases.
  • Yes (this PR will be cherry-picked and included in the next patch release)
  • No (this PR will be included in the next minor release)
Original prompt

Update .github/workflows/protect.js to ignore canceled workflow runs.

// .github/workflows/protect.js

const workflowRuns = (
  await github.paginate(github.rest.actions.listWorkflowRunsForRepo, {
    owner,
    repo,
    head_sha: ref,
  })
).filter(({ path }) => path !== ".github/workflows/protect.yml"); // <- Update this line

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@harupy harupy marked this pull request as ready for review November 6, 2025 01:33
@harupy harupy added the rn/none List under Small Changes in Changelogs. label Nov 6, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

@Copilot Thank you for the contribution! Could you fix the following issue(s)?

⚠ Invalid PR template

This PR does not appear to have been filed using the MLflow PR template. Please copy the PR template from here and fill it out.

Co-authored-by: harupy <17039389+harupy@users.noreply.github.com>
Copilot AI changed the title [WIP] Update protect.js to ignore canceled workflow runs Filter out cancelled workflow runs in protect.js Nov 6, 2025
Copilot AI requested a review from harupy November 6, 2025 01:43
@github-actions github-actions bot added the area/build Build and test infrastructure for MLflow label Nov 6, 2025
@harupy harupy added this pull request to the merge queue Nov 6, 2025
Merged via the queue into master with commit 408ea4b Nov 6, 2025
55 of 57 checks passed
@harupy harupy deleted the copilot/update-ignore-canceled-runs branch November 6, 2025 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build Build and test infrastructure for MLflow rn/none List under Small Changes in Changelogs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants