Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release please no longer making release PRs (There are untagged, merged release PRs outstanding - aborting) #1946

Closed
TimothyJones opened this issue May 9, 2023 · 29 comments
Assignees
Labels
priority: p3 Desirable enhancement or fix. May not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.

Comments

@TimothyJones
Copy link
Contributor

If the support paths suggested above still do not result in a resolution, please provide the following details.

Environment details

  • OS: google-github-actions/release-please-action@v3
  • Node.js version: google-github-actions/release-please-action@v3
  • npm version: google-github-actions/release-please-action@v3
  • release-please version: google-github-actions/release-please-action@v3

Information

Somehow my repository ( https://github.com/case-contract-testing/contract-case ) has got into a state where release PRs are no longer being created due to:

⚠ There are untagged, merged release PRs outstanding - aborting

I tried to fix this by manually tagging a past release PR (which worked for generating this release PR), but after merging it, no tags or releases were generated, and the repo was left in this state again.

Steps to reproduce

  1. Unclear, I'm afraid
@TimothyJones TimothyJones added priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels May 9, 2023
@TimothyJones
Copy link
Contributor Author

I think I misread the documentation of how to add projects - I was editing the .release-please-manifest.json for new projects. I'll close this for now, and will open another issue if I this happens again.

@TimothyJones
Copy link
Contributor Author

So, this is still happening.

I had thought that it might be because I'd corrupted the tags somehow. I tried cloning the repository without any tags and doing a bootstrap, but it still won't make releases after the release PR is merged.

The logs from a merge of a PR that should have made a release can be seen here

Any ideas?

@TimothyJones
Copy link
Contributor Author

In case you can't see the log run, I've put it in a gist here

@phucvinh57
Copy link

Same issue

@phucvinh57
Copy link

phucvinh57 commented Jun 13, 2023

@TimothyJones Github PRs created by release-please-actions are tagged with labels named like autorelease:*. I tried to remove these labels from all PRs (include closed PRs), then re-run workflows and suceed !

image

@TimothyJones
Copy link
Contributor Author

TimothyJones commented Jun 13, 2023

Thanks. That's how I manually fix this every time I merge a release pr:

  • Remove autorelease: pending label from all PRs
  • Tag the last merge commit with all the relevant versions

This will get it to generate the release PR again.

However, when you merge that release PR, release-please still doesn't create any releases.

For example, this recently merged PR, resulted in this github actions run, which aborts with:

❯ Found pull request #145: 'chore: release all packages'
⚠ There are untagged, merged release PRs outstanding - aborting

(which is the exact release PR it is supposed to be processing).

@phucvinh57
Copy link

I met the same issue. Finally, I accepted to lost all old changelogs (my repository is private), therefore I removed autorelease:pending and autorelease:tagged label from all PRs.

@TimothyJones
Copy link
Contributor Author

@chingor13 Would it be possible to get some guidance on where to look to find out what is happening here?

This issue a blocker for me (along with this peerDependencies issue).

I would really like to use release-please as - when it works - the process is so nice - and I'd be happy to look in to this if you can point me roughly to the right part of the code.

@TimothyJones
Copy link
Contributor Author

I met the same issue. Finally, I accepted to lost all old changelogs (my repository is private), therefore I removed autorelease:pending and autorelease:tagged label from all PRs.

I tried cloning the repo where it had no tags (on PRs or in git) and the problem didn’t go away. So I think something else is wrong.

@unjust
Copy link

unjust commented Jul 22, 2023

Thanks for the workaround documentation @TimothyJones !
Itd be nice to know the steps of what we're supposed to do with the release PR - I thought after a PR was merged the tag would automatically be added to my repo - but my repo still has no tags. Am I supposed to do add a tag with the version manually every time I merge a release-pr? I have a monorepo setup, not sure if that has someting to do with why its not working as I thought - but no where do I see steps on manually adding the tag myself.

@TimothyJones
Copy link
Contributor Author

TimothyJones commented Jul 23, 2023

Yes, that sounds like the bug I’m reporting here

Tbh, I can’t really recommend this library without a fix for this bug. The “workaround” is to manually tag the versions, and so release please is only used for generating changelogs.

@unjust
Copy link

unjust commented Jul 23, 2023

I don't use the github action, just the CLI. So now I'm wondering if maybe I wouldn't get the tagging benefits when I merge, and the gh action is what is responsible for that part ? Not sure if release-please is designed to only use the cli and not the action like I'm doing in my case.

@TimothyJones
Copy link
Contributor Author

You might want to open a separate issue for your question - I’m not a maintainer, just a user of the library.

@SurferJeffAtGoogle SurferJeffAtGoogle added priority: p3 Desirable enhancement or fix. May not be included in next release. and removed priority: p2 Moderately-important priority. Fix may not be included in next release. labels Oct 4, 2023
@TimothyJones
Copy link
Contributor Author

I finally got some headway on this - it's something to do with a custom PR title. When I manually updated it to chore(main): release 0.14.0 everything worked as expected. Previously it was chore: release all packages, because there are enough packages that there isn't a sensible version number for the PR.

@TimothyJones
Copy link
Contributor Author

@SurferJeffAtGoogle Could you give some insight on why this was deprioritised? I'm kind of frustrated that deprioritising it is the only interaction we've had from a maintainer :/

@achingbrain
Copy link

achingbrain commented Nov 30, 2023

I just hit the same problem. Changing the release PR title seems to solve it, at least until the next release I guess. Utterly bizarre.

@TimothyJones
Copy link
Contributor Author

I think it might be something to do with this issue, which would definitely be one cause of (at least) node workspace release PRs not having the title that it expects to find.

sne11ius added a commit to sne11ius/pp that referenced this issue May 23, 2024
release-please error'd too often with "There are untagged, merged release PRs
outstanding - aborting" and I couldn't get it to comply. Also see
googleapis/release-please#1946.

The new configuration for semantic-release should do everything we need,
but I'm sure we will need another few rounds to fix the errors I don't see
rn.
sne11ius added a commit to sne11ius/pp that referenced this issue May 23, 2024
release-please error'd too often with "There are untagged, merged release PRs
outstanding - aborting" and I couldn't get it to comply. Also see
googleapis/release-please#1946.

The new configuration for semantic-release should do everything we need,
but I'm sure we will need another few rounds to fix the errors I don't see
rn.
@actuarysailor
Copy link

I am having this issue as well:

Log

Running release-please version: 16.10.2
❯ Fetching release-please-config.json from branch main
❯ Fetching .github/.release-please-manifest.json from branch main
✔ Building releases
✔ Building strategies by path
❯ .: python
❯ Found pull request #38: 'bad release 1.9.1'
✔ Building release for path: .
❯ type: python
❯ targetBranch: main
⚠ pullRequestTitlePattern miss the part of '${scope}'
⚠ pullRequestTitlePattern miss the part of '${component}'
⚠ pullRequestTitlePattern miss the part of '${version}'
✖ Bad pull request title: 'bad release 1.9.1'
❯ Fetching release-please-config.json from branch main
❯ Fetching .github/.release-please-manifest.json from branch main
✔ Building pull requests
✔ Building strategies by path
❯ .: python
✔ Collecting release commit SHAs
❯ release search depth: 400
❯ Fetching releases with cursor undefined
❯ Found release for path ., v1.9.1
❯ release for path: ., version: 1.9.1, sha: 70fff24cb35636af4f8d0501cb3600e9e2739363
✔ Collecting commits since all latest releases
❯ commit search depth: 500
❯ Set(1) { '70fff24cb35636af4f8d0501cb3600e9e2739363' }
❯ Fetching merge commits on branch main with cursor: undefined
❯ Backfilling file list for commit: f75c092c864b4aeec1a77fc7a84a7f56aa0fa215
❯ Found 2 files
❯ Backfilling file list for commit: 4706e1ade9f977e85956b8e9e[14](https://github.com/actuarysailor/gha-repo-manager/actions/runs/9425850229/job/25968045837#step:2:15)305b860c45331
❯ Found 2 files
❯ Backfilling file list for commit: 5e26b93c452e1fbaca34f473e2d13[15](https://github.com/actuarysailor/gha-repo-manager/actions/runs/9425850229/job/25968045837#step:2:16)b9983059a
❯ Found 2 files
❯ Backfilling file list for commit: 70fff24cb35636af4f8d0501cb3600e9e2739363
❯ Found 1 files
❯ Backfilling file list for commit: 8[17](https://github.com/actuarysailor/gha-repo-manager/actions/runs/9425850229/job/25968045837#step:2:18)ec2eb237374f02dea6b46737d3112b006bcd0
❯ Found 1 files
❯ Backfilling file list for commit: 9cb7d025100a5c4b526374f6483233ad5e0e33bc
❯ Found 1 files
❯ Backfilling file list for commit: 36d71c4e1460e76c0b593722a6a0c89eb6ba06af
❯ Found 1 files
❯ Backfilling file list for commit: 21aa4daf202843348cd424390a1a621ac738c0[18](https://github.com/actuarysailor/gha-repo-manager/actions/runs/9425850229/job/25968045837#step:2:19)
❯ Found 2 files
❯ Backfilling file list for commit: 3b8ee6eb48373ae615718c6a1[19](https://github.com/actuarysailor/gha-repo-manager/actions/runs/9425850229/job/25968045837#step:2:20)9e697c1e11052
❯ Found 1 files
❯ Backfilling file list for commit: d659510e85bbf9cbe78797b35aee6710a5e480a7
❯ Found 1 files
❯ Backfilling file list for commit: dc6d[21](https://github.com/actuarysailor/gha-repo-manager/actions/runs/9425850229/job/25968045837#step:2:22)25f3c8a49a2dc2e4de05349595388b7176
❯ Found 1 files
⚠ Release SHA 70fff24cb35636af4f8d0501cb3600e9e2739363 did not have an associated pull request
✔ Splitting 4 commits by path
✔ Building candidate release pull request for path: .
❯ type: python
❯ targetBranch: main
⚠ No latest release pull request found.
❯ commits: 4
✔ Considering: 4 commits
❯ component: 
❯ pull request title pattern: undefined
❯ Fetching pyproject.toml from branch main
❯ finding files by filename: version.py, ref: main, prefix: 
❯ Found pull request #38: 'bad release 1.9.1'
⚠ There are untagged, merged release PRs outstanding - aborting

Config

{
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
  "release-type": "python",
  "bootstrap-sha": "70fff24cb35636af4f8d0501cb3600e9e2739363",
  "release-search-depth": 400,
  "extra-files": [
    "action.yml"
  ],
  "tag-separator": "@",
  "include-v-in-tag": true,
  "packages": {
    ".": {}
  },
  "plugins": []
}

Manifest

{
    ".": "1.9.1"
}

@TimothyJones
Copy link
Contributor Author

I currently think this is something to do with the pull request title - if you make the PR title match what it expects, then it works.

However, it can be hard to predict what it expects - my configuration (a combination of linked versions and node workspace) seems to ignore the set PR title patterns in favour of chore: release (main), which is always wrong. This looks like a default in the merge, which is confused because some versions are linked and some are not.

Looks like yours might just be the default, so perhaps you can rename the PR to follow chore${scope}: release${component} ${version} and it will work?

Maintainers: I'd love to see some attention on this. Let me know if you'd like any more information about anything I've reported so far.

@TimothyJones
Copy link
Contributor Author

At the very least, it would be good to document that the PR title is relied on by the tool, and so can't be renamed.

@actuarysailor
Copy link

actuarysailor commented Jun 8, 2024

I am pretty sure that is not the issue. I think the issue is I deleted some releases/tags and reverted the repo to a prior commit, but it is still finding the historical PRs?

There are untagged, merged release PRs outstanding - aborting

https://github.com/actuarysailor/gha-repo-manager/actions/runs/9426574313

I am out of ideas on how to get this working again... I've tried rolling back to prior commit and force pushing... using squash commits to avoid commit hashes that match old PR, deleting tags, using empty commits to restore tags, forcing the most recent Sha in the config file to match most recent tagged release...

@TimothyJones
Copy link
Contributor Author

I took a look at your repo: Remove autorelease: pending from the merged revert release PR.

@actuarysailor
Copy link

I took a look at your repo: Remove autorelease: pending from the merged revert release PR.

Thanks! That fixed it! Didn't realize labels were used

@TimothyJones
Copy link
Contributor Author

@chingor13 Unless you’re about to merge something that fixes this, I don’t think this is fixed.

@mdnorman
Copy link

mdnorman commented Sep 25, 2024

We are running into this now, so this is definitely still a problem.

ETA: I think the way this manifested for me was that I manually edited the name of the PR before merging. I'll refrain from doing that in the future, but it seems finicky.

@TimothyJones
Copy link
Contributor Author

In my case, the autogenerated PR name is wrong. I have to manually edit it to what release-please expects - but that doesn't always work.

@TimothyJones
Copy link
Contributor Author

Maintainers: I'm happy to provide more detail about what I've found so far, if you're going to look into a fix for this.

@mikolajb
Copy link

mikolajb commented Oct 4, 2024

@chingor13 the original problem is not fixed

@safizn
Copy link

safizn commented Dec 15, 2024

Thanks for the notes above, I've got my setup fixed using release-please in a monorepo. The issue involved:

  1. having multiple autorelease: pending left in merged PRs; this is documented on the repo's readme.md file
  2. custom PR title causes issues

Fix: remove custom release PR title configuration (defaults without separate PR configuration to "chore: release main"), and leave all autorelease: pending tag but the most recent release PR one (the failing PR to be released); now it is working flawlessly.

// remove these
"group-pull-request-title-pattern": "chore: release ${version}",
"pull-request-title-pattern": "chore: release${component} ${version}",

The config file release-please-config.json

{            
  "plugins": [
    {
      "type": "linked-versions",
      "groupName": "group-some-associated-services",
      "components": [ ],
      "merge": true
    }
  ],
  "separate-pull-requests": false,
  "commit-search-depth": 50, 
  "release-search-depth": 50,
  "always-link-local": true,
  "include-v-in-tag": true,
  "tag-separator": "@",
  "bump-minor-pre-major": true,
  "bump-patch-for-minor-pre-major": true,
  "draft": false,
  "prerelease": false, 

  "pull-request-header": "🤖 Release created:", 
  "pull-request-footer": "_release-please generated PR_",

  "packages": {
      ".": {
        "component": "my-app", 
        "release-type": "rust", 
        "exclude-paths": [
          "service/web-server",
          ".release-please-config.json",
          ".release-please-manifest.json",
          "Cargo.toml"
        ]
      }, 
      
      "service/web-server": {
        "component": "web-server",
        "release-type": "node"
      }
  },
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: p3 Desirable enhancement or fix. May not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Projects
None yet
Development

No branches or pull requests

10 participants