Skip to content

feat(ci): Fetch quarantines from the list endpoint in junit-process - #1871

Merged
mergify[bot] merged 1 commit into
mainfrom
devs/remyduthu/fix/quarantine-list-endpoint/fetch-quarantines-list-endpoint-junit-process--7a67e0c9
Oct 1, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
devs/remyduthu/fix/quarantine-list-endpoint/fetch-quarantines-list-endpoint-junit-process--7a67e0c9

Conversation

@remyduthu

Copy link
Copy Markdown
Contributor

POST /quarantines/check is superseded by the paginated
GET /quarantines?branch=… list endpoint, which the
mergify-ci-integrations clients already use. Align ci junit-process
with them: page through the branch's quarantines, and treat a 402
(quarantine not in the plan) as nothing quarantined instead of
reporting an error and blocking every failure.

Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com

Copilot AI balanced review requested due to automatic review settings October 1, 2026 16:56
@mergify
mergify Bot had a problem deploying to Mergify Merge Protections October 1, 2026 16:56 Failure
@remyduthu
remyduthu deployed to func-tests-live October 1, 2026 16:56 — with GitHub Actions Active
@mergify

mergify Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 6 merge protections satisfied — ready to merge.

Show 6 satisfied protections

🟢 🤖 Continuous Integration

  • all of:
    • check-success=ci-gate

🟢 👀 Review Requirements

  • any of:
    • #approved-reviews-by>=2
    • author = dependabot[bot]
    • author = mergify-ci-bot
    • author = renovate[bot]

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|internal|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?!?:

🟢 🔎 Reviews

  • #changes-requested-reviews-by = 0
  • #review-requested = 0
  • #review-threads-unresolved = 0

🟢 📕 PR description

  • body ~= (?ms:.{48,})

🟢 🚦 Auto-queue

When all merge protections are satisfied, this pull request will be queued automatically.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The generalized ignored-status handling can bypass mandatory retries and conceal server or rate-limit failures.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Updates JUnit quarantine evaluation to use the paginated quarantine list endpoint and handle unavailable-plan responses gracefully.

Changes:

  • Adds paginated GET support with configurable ignored status.
  • Fetches all branch quarantines and treats HTTP 402 as an empty quarantine.
  • Updates categorization, command behavior, and tests for the new response model.
File Description
crates/​mergify-core/​src/​http.rs Adds optional-status paginated requests.
crates/​mergify-ci/​src/​tests_quarantine.rs Shares the quarantine response envelope.
crates/​mergify-ci/​src/​junit_process/​quarantine.rs Implements paginated quarantine fetching and categorization.
crates/​mergify-ci/​src/​junit_process/​mod.rs Removes the obsolete public type export.
crates/​mergify-ci/​src/​junit_process/​command.rs Adapts verdict logic and mocks to the list endpoint.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread crates/mergify-core/src/http.rs Outdated
@mergify
mergify Bot requested a review from a team October 1, 2026 17:05
@remyduthu
remyduthu marked this pull request as ready for review October 1, 2026 17:21
`POST /quarantines/check` is superseded by the paginated
`GET /quarantines?branch=…` list endpoint, which the
mergify-ci-integrations clients already use. Align `ci junit-process`
with them: page through the branch's quarantines, and treat a 402
(quarantine not in the plan) as nothing quarantined instead of
reporting an error and blocking every failure.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Change-Id: I7a67e0c92132ccfede7d1b78b249a68129ae6fd0
@remyduthu
remyduthu force-pushed the devs/remyduthu/fix/quarantine-list-endpoint/fetch-quarantines-list-endpoint-junit-process--7a67e0c9 branch from 0c70c26 to 82def28 Compare October 1, 2026 17:22
@remyduthu

Copy link
Copy Markdown
Contributor Author

Revision history

# Type Changes Reason Date
1 initial 0c70c26 2026-10-01 17:22 UTC
2 content 0c70c26 → 82def28 Keep retries for 5xx and rate limits when get_page_unless names that status. 2026-10-01 17:22 UTC

@remyduthu
remyduthu deployed to func-tests-live October 1, 2026 17:22 — with GitHub Actions Active
@mergify
mergify Bot deployed to Mergify Merge Protections October 1, 2026 17:23 Active
@mergify
mergify Bot requested a review from a team October 1, 2026 19:57
@mergify

mergify Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • ✅ Entered queue — 2026-10-01 22:03 UTC · Rule: default · triggered by merge protections
  • ✅ Checks skipped · PR is already up-to-date
  • ✅ Merged — 2026-10-01 22:03 UTC · at b24e8f2aa67dfceff9401b39450fb7bb91f5573e · squash

This pull request spent 14 seconds in the queue, including 1 second running CI.

Required conditions to merge

@mergify
mergify Bot merged commit b24e8f2 into main Oct 1, 2026
23 checks passed
@mergify
mergify Bot deleted the devs/remyduthu/fix/quarantine-list-endpoint/fetch-quarantines-list-endpoint-junit-process--7a67e0c9 branch October 1, 2026 22:03
@mergify mergify Bot added queued and removed queued labels Oct 1, 2026

This branch was successfully deployed

2 active deployments
Mergify Merge Protections — 82def28c Deployed Oct 1, 2026 by mergify[bot]
func-tests-live — 82def28c Deployed Oct 1, 2026 by remyduthu via live-tests #1961
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants