Skip to content

potential bug: commits intermittently marked as detached #1402

@kshiftw

Description

@kshiftw

TL;DR
We are running a shipit instance wrapped around the shipit-engine gem v0.38.0. Starting on April 7, 2025, we have seen that commits are intermittently being marked as detached and as a result, not display on Shipit UI as an undeployed commit. I was wondering if the shipit-engine team has seen anything like this as well?

Details

  • I still haven't been able to figure out why these are being marked as detached. From what I've seen in shipit-engine code, there are a few ways that a commit will be marked as detached:
    • During GithubSyncJob, if there is a shared parent commit identified, then the children are marked as detached
      • I've used the Github REST API for commits to query the parent.sha on the detached commits' parents and children and haven't found any commits that share a parent.
    • If it is a Pull Request, then the head and base sha are marked as detached
      • The commits being marked as detached are commits merged to the master branch and not a pull request. All of our commits have NULL entries for pull_request_number merge_request_id
  • Our shipit instance wraps around shipit-engine gem v0.38.0
  • Only single commits (not 2+ in a row) are being marked as detached
  • No obvious pattern in timing for when they are marked as detached
  • Nothing has changed with our Github merge strategy - we use Squash and Merge
  • Not seeing any force pushes on the commit or on commits before it or after
  • Didn't find anything in Github change log that would cause this issue: https://github.blog/changelog/
  • This problem is not limited to a single stack - it is happening on multiple stacks that point to different repositories
  • In one example, different commits are being marked as detached for 2 stacks (staging and production) that point to the same repository and branch

Any help or insight would be appreciated! I can provide more details too, if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions