Skip to content

ci: a Create Release run whose Vendor Update was skipped can displace a pending run that has release work #1705

Closed

Description

@JarryShaw

Describe the bug
Create Release's concurrency group (create-release.yml:30-32: cancel-in-progress: false) keeps one running and one pending run. GitHub cancels a pending run when a newer one joins the group. That newer run can come from a Vendor Update that was skipped, in which case it does nothing. So a pending run whose Vendor Update succeeded can be displaced by no-op runs.

The comment at :14-27 says "never cancel a release run" and treats a dropped run as "a publish that did not happen twice". In this case, though, it is a publish that waits for the next successful Vendor Update.

Reproduction
Run 38499150441 (created 2026-10-14T02:04:54Z on 8035434a2, triggered by a successful Vendor Update) ended cancelled while pending. It was displaced by runs 38497304243 and 38497353175, whose Vendor Updates were skipped. Here it cost nothing, because the version had not changed. If the displaced run had been the one carrying a version bump, the release would have been held until the next successful Vendor Update. That impact is inferred, not observed.

Expected behavior
A run that has release work to do is never displaced by one that has none. One way: gate entry to the group on the triggering run's conclusion, so a skipped Vendor Update starts no Create Release run at all. The comment should then describe what the group actually guarantees.

Activity

  1. added
    ciPull requests that change CI or workflow configuration (ci: subject prefix)
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 14, 2026
  2. moved this to Pending in PyPCAPKiton Oct 14, 2026
  3. JarryShaw commented on Oct 14, 2026

    @JarryShaw
    OwnerAuthor

    Blocked until the #1660 Part B PR merges. Its worker is editing .github/workflows/create-release.yml, docs/source/contributing/releasing.rst and workflows.rst, the same three files this fix touches.

  4. added
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    and removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 14, 2026
  5. moved this from Pending to Blocked in PyPCAPKiton Oct 14, 2026
  6. JarryShaw commented on Oct 14, 2026

    @JarryShaw
    OwnerAuthor

    The Part B PR is #1716. This stays blocked until it merges.

  7. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 14, 2026
  8. moved this from Blocked to WIP in PyPCAPKiton Oct 14, 2026
  9. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 14, 2026
  10. added this to the PyPCAPKit v1.5 milestone on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciPull requests that change CI or workflow configuration (ci: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions