Giter Club home page Giter Club logo

Comments (6)

bpatram avatar bpatram commented on September 25, 2024 2

Hi, just wanted to follow up on this!

To work around my issue I've setup kira-stale bot to close out kira-dependencies MRs that remain open after a day (with the assumption that these MRs have failed for the reasons I originally described). This allows for the kira-dependencies bot to run the following day and open new MRs which will then attempt to try an auto-merge again, hopefully with better luck. This has been working out very well.

Below is the triage policy I've been using to do this:

resource_rules:
  merge_requests:
    rules:
      - name: Close stale dependabot merge requests
        conditions:
          date:
            attribute: created_at
            condition: older_than
            interval_type: days
            interval: 1
          state: opened
          labels:
            - 'dependencies'
        actions:
          status: close
          comment: |
            This dependency has been sitting unmerged for too long!

            It was last updated at {{updated_at}}
            /unassign
            /remove_milestone
            /lock

from kira-dependencies.

bpatram avatar bpatram commented on September 25, 2024 1

Marge bot seems pretty cool, I think the merge train stuff makes some of this tool a bit moot.

But in regards to this issue I don't see marge-bot helpful. It won't handle the merge conflicts for us.

If anything goes wrong (merge conflicts, tests that fail, etc.) she'll leave a message on the merge-request, so you'll get notified.

from kira-dependencies.

sobolevn avatar sobolevn commented on September 25, 2024

I would love to hear your feedback about merge trains! I haven't used it lately.

from kira-dependencies.

bpatram avatar bpatram commented on September 25, 2024

After doing some research, I don't believe merge trains will help us in this case. They just allow for testing a merge commit before it actually gets merged, which doesn't help our case.

I think a solution here may be to simply rebase any existing dependabot MRs on to the current master when found. The idea being, while on the first run there will be MRs that have merge conflicts (due to other MRs auto-merging causing new merge conflicts) but on the second run those MRs will be rebased and then be auto-mergable without conflicts (due to the rebase). Then keep repeating that until all MRs are auto-merged.

I'm also wondering if this could be accomplished by having the script attempt to retry the pipeline job if it runs and detects dependabot MRs that have merge conflicts. This would of course cause it to re-run and rebase those MRs and eventually all MRs would be merged.

Github dependabot will rebase its PRs in a similar way as I describe, I believe.

from kira-dependencies.

sobolevn avatar sobolevn commented on September 25, 2024

See https://github.com/smarkets/marge-bot
It might be helpful.

from kira-dependencies.

sobolevn avatar sobolevn commented on September 25, 2024

@bpatram awesome! Thanks a lot!

from kira-dependencies.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.