release-please-action icon indicating copy to clipboard operation
release-please-action copied to clipboard

versions manifest file merge conflict when using separate pull requests

Open tpolekhin opened this issue 3 years ago • 1 comments

TL;DR

When using "separate-pull-requests": true with multi-package release-please config you can have 2 chore PRs opened at the same time as a result of 2 different changes in different packages, but they both update .release-please-manifest.yaml file. When you merge one of the PRs to trigger a version release other PR is left in the merge conflict state

Expected behavior

You should be able to have multiple chore PRs opened at the same time in a multi-package project and be able to release them independently without merge conflicts

Observed behavior

When you merge one of the PRs to trigger a version release other PR is left in the merge conflict state

Action YAML

name: Release Please

on:
  push:
    branches:
      - main

jobs:
  release-please:
    runs-on: ubuntu-latest
    steps:
      - uses: google-github-actions/release-please-action@v3
        with:
          command: manifest

Log output

https://github.com/tpolekhin/release-please-test/runs/7360900306

Additional information

link the conflict PR: https://github.com/tpolekhin/release-please-test/pull/11

release-please-config.json

{
  "release-type": "terraform-module",
  "separate-pull-requests": true,
  "packages": {
    "modules/eks": {
      "package-name": "eks"
    },
    "modules/vpc": {
      "package-name": "vpc"
    }
  }
}

.release-please-manifest.json

{
  "modules/eks": "0.2.0",
  "modules/vpc": "0.1.2"
}

tpolekhin avatar Jul 15 '22 16:07 tpolekhin

This is an upstream issue on release-please but related to what git decides is a conflict. Both PRs are touching the same file on different lines, and in theory this should not be a conflict (git should be smarter).

Related: https://github.com/googleapis/release-please/issues/1502

chingor13 avatar Jul 26 '22 16:07 chingor13