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

🐛 Bug: Renovate merges PRs with failing migration tests when release flow unlocks branch protections (I think) #1742

Open
3 tasks done
JoshuaKGoldberg opened this issue Dec 5, 2024 · 1 comment
Assignees
Labels
status: accepting prs Please, send a pull request to resolve this! type: bug Something isn't working :(

Comments

@JoshuaKGoldberg
Copy link
Owner

Bug Report Checklist

  • I have tried restarting my IDE and the issue persists.
  • I have pulled the latest main branch of the repository.
  • I have searched for related issues and found none that matched my issue.

Expected

Renovate PRs with failing CI statuses should not be merged into main.

Actual

Look at all these PRs whose automerges merged with ❌ CI:

In addition to being annoying for me to have to keep reverting the PRs, I think it's also an indication that the current release flow is flawed. Right now the release flow is:

  1. Save current main branch protections in memory
  2. Delete main branch protections on GitHub
  3. Run the release
  4. Restore main branch protections on GitHub from memory

Between 2 and 4 is a general opening for squash merging to happen in this repo - and any downstream repo with a similar setup. Not good.

Or at least I think. I'm not 100% sure. But this is my current best theory and strikes me as reasonable.

Additional Info

I suspect the right solution will be, rather than deleting branch protections, to instead change them surgically to allow the running release user. That way they still block apps like Dependabot and Renovate.

In other words:

  1. Save current main branch protections in memory
  2. Change main branch protections on GitHub to exempt the release bot/user
  3. Run the release
  4. Restore main branch protections on GitHub from memory

💖

@JoshuaKGoldberg JoshuaKGoldberg added type: bug Something isn't working :( status: accepting prs Please, send a pull request to resolve this! labels Dec 5, 2024
@JoshuaKGoldberg JoshuaKGoldberg self-assigned this Dec 5, 2024
JoshuaKGoldberg added a commit that referenced this issue Dec 5, 2024
## PR Checklist

- [x] Addresses an existing open issue: temporarily reprieves #1742, but
does not resolve it
- [x] That issue was marked as [`status: accepting
prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in
[CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md)
were taken

## Overview

Just disables the most common problematic updates for this repo.

💖
@JoshuaKGoldberg
Copy link
Owner Author

#1747 didn't help, they're still being pinned.

JoshuaKGoldberg added a commit that referenced this issue Dec 5, 2024
<!-- 👋 Hi, thanks for sending a PR to create-typescript-app! 💖.
Please fill out all fields below and make sure each item is true and [x]
checked.
Otherwise we may not be able to review your PR. -->

## PR Checklist

- [x] Addresses an existing open issue: hopefully this time helps with
#1742 internally
- [x] That issue was marked as [`status: accepting
prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in
[CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md)
were taken

## Overview

I don't want these to update at all.

💖
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: accepting prs Please, send a pull request to resolve this! type: bug Something isn't working :(
Projects
None yet
Development

No branches or pull requests

1 participant