[go: up one dir, main page]

CIAO: prepare for merge trains

What

Prepare the CI configuration for merge trains by modifying the rules so that all special behavior reserved to marge-bot is also extended to merge train pipelines.

Why

We want to start experimenting with merge trains.

How

I've taken the approach of implementing a configuration that is agnostic to either marge-bot or merge trains. This means that we'll be able to switch back and forth without reverting this MR. The merge trains feature has advanced a lot since the previous effort (see !10992 (closed)). MRs no longer need to rebased before adding to the train, so a lot of complication of the previous effort can be ignored.

In fact, this MR changes little -- just at every place it says if (marge-bot) I've added if (marge-bot || merge train). However, to make this easier I added some refactorings renaming "marge-bot" pipeline to "final" pipeline.

Manually testing the MR

On the arvid-tezos/arvid@merge-trains-main branch, I applied the configuration from this MR. Then I applied a simplified configuration to test marge-bot, merge trains (and marge-bot2). I wanted to test that we can indeed merge MRs with my new configuration using:

  • merge trains: nomadic-labs/arvid-tezos!538 (merged)
    • The test MR works fine with merge trains, the dummy final pipeline job runs only on the final pipeline.
  • marge-bot1: nomadic-labs/arvid-tezos!540 (merged)
    • The test MR works fine with original marge-bot1, the dummy final pipeline job runs only on the final pipeline.
  • (merge trains using marge-bot2)
    • I've tried it, but I discovered that marge-bot2 requires that "Require successful pipeline" to be turned off to be useful.

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Arvid Jakobsson

Merge request reports

Loading