-
Notifications
You must be signed in to change notification settings - Fork 3
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
Small PR for testing merge queue #38
Conversation
Current dependencies on/for this PR:
This comment was auto-generated by Graphite. |
Changelogn/a |
build-ok: | ||
name: Build OK | ||
needs: [lint, unit-test] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo OK | ||
|
||
test-ok: | ||
name: Test OK | ||
needs: [unit-test] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo OK | ||
|
||
publish-ok: | ||
name: Publish OK | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo "No-op on PRs to satisfy branch checks" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are the same steps Bors is enforcing (via bors.toml
).
Enforcement is now done via GitHub's repo settings, so we now require them on PRs as well as merge queues. Hence, we re-define them on the PR workflow and no-op where appropriate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack. We'll probably want to manage the repo settings in a checked-in-place (perhaps via an IaC solution of some kind 🤔) for Real projects.
build-ok: | ||
name: Build OK | ||
needs: [lint, unit-test] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo OK | ||
|
||
test-ok: | ||
name: Test OK | ||
needs: [unit-test] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo OK | ||
|
||
publish-ok: | ||
name: Publish OK | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo "No-op on PRs to satisfy branch checks" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack. We'll probably want to manage the repo settings in a checked-in-place (perhaps via an IaC solution of some kind 🤔) for Real projects.
# Description This PR removes Bors in favor of native GitHub merge queues. A very similar cutover was tested and verified in pulumi/watchutil-rs#39. # Deployment plan * [x] Find some time where PRs aren't being merged. This is mostly to minimize confusion while we're futzing with branch protections. * [x] Update the repo's branch protection rules to match pulumi/watchutil-rs#38: * "Allow specified actors to bypass required pull requests": "bors" → Unchecked * "Status checks that are required": "bors" → "ci-ok" * "Require merge queue": Unchecked → Checked * "Only merge non-failing pull requests" → Unchecked * "Merge method" → Squash and merge * [ ] Merge this PR using the "Merge when ready" button. * [ ] If it merges successfully: confirm the prepare-release step ran and published pre-release artifacts. * [ ] If the merge fails: it's possible we'll need to tweak steps slightly (e.g. if the step's name doesn't match the branch protection rule). The end goal is a "ci-ok" step in both the PR and merge workflows that captures whether everything is green. * [ ] If the issues aren't immediately resolvable, revert the changes made to branch protection settings. Folks will continue to merge with Bors. If all goes well, we should be able to continue merging with MQ for a while -- at least long enough to cut a new CLI release. Once we're confident we won't need to roll back: * [ ] Delete branch protection rules for: * staging * testing * [ ] Remove pu/pu from https://app.bors.tech/repositories Fixes #13501 ## Checklist - [ ] I have run `make tidy` to update any new dependencies - [ ] I have run `make lint` to verify my code passes the lint check - [ ] I have formatted my code using `gofumpt` <!--- Please provide details if the checkbox below is to be left unchecked. --> - [ ] I have added tests that prove my fix is effective or that my feature works <!--- User-facing changes require a CHANGELOG entry. --> - [ ] I have run `make changelog` and committed the `changelog/pending/<file>` documenting my change <!-- If the change(s) in this PR is a modification of an existing call to the Pulumi Cloud, then the service should honor older versions of the CLI where this change would not exist. You must then bump the API version in /pkg/backend/httpstate/client/api.go, as well as add it to the service. --> - [ ] Yes, there are changes in this PR that warrants bumping the Pulumi Cloud API version <!-- @pulumi employees: If yes, you must submit corresponding changes in the service repo. -->
# Description This PR removes Bors in favor of native GitHub merge queues. A very similar cutover was tested and verified in pulumi/watchutil-rs#39. # Deployment plan * [x] Find some time where PRs aren't being merged. This is mostly to minimize confusion while we're futzing with branch protections. * [x] Update the repo's branch protection rules to match pulumi/watchutil-rs#38: * "Allow specified actors to bypass required pull requests": "bors" → Unchecked * "Status checks that are required": "bors" → "ci-ok" * "Require merge queue": Unchecked → Checked * "Only merge non-failing pull requests" → Unchecked * "Merge method" → Squash and merge * [ ] Merge this PR using the "Merge when ready" button. * [ ] If it merges successfully: confirm the prepare-release step ran and published pre-release artifacts. * [ ] If the merge fails: it's possible we'll need to tweak steps slightly (e.g. if the step's name doesn't match the branch protection rule). The end goal is a "ci-ok" step in both the PR and merge workflows that captures whether everything is green. * [ ] If the issues aren't immediately resolvable, revert the changes made to branch protection settings. Folks will continue to merge with Bors. If all goes well, we should be able to continue merging with MQ for a while -- at least long enough to cut a new CLI release. Once we're confident we won't need to roll back: * [ ] Delete branch protection rules for: * staging * testing * [ ] Remove pu/pu from https://app.bors.tech/repositories Fixes #13501 ## Checklist - [ ] I have run `make tidy` to update any new dependencies - [ ] I have run `make lint` to verify my code passes the lint check - [ ] I have formatted my code using `gofumpt` <!--- Please provide details if the checkbox below is to be left unchecked. --> - [ ] I have added tests that prove my fix is effective or that my feature works <!--- User-facing changes require a CHANGELOG entry. --> - [ ] I have run `make changelog` and committed the `changelog/pending/<file>` documenting my change <!-- If the change(s) in this PR is a modification of an existing call to the Pulumi Cloud, then the service should honor older versions of the CLI where this change would not exist. You must then bump the API version in /pkg/backend/httpstate/client/api.go, as well as add it to the service. --> - [ ] Yes, there are changes in this PR that warrants bumping the Pulumi Cloud API version <!-- @pulumi employees: If yes, you must submit corresponding changes in the service repo. -->
# Description This PR removes Bors in favor of native GitHub merge queues. A very similar cutover was tested and verified in pulumi/watchutil-rs#39. # Deployment plan * [x] Find some time where PRs aren't being merged. This is mostly to minimize confusion while we're futzing with branch protections. * [x] Update the repo's branch protection rules to match pulumi/watchutil-rs#38: * "Allow specified actors to bypass required pull requests": "bors" → Unchecked * "Status checks that are required": "bors" → "ci-ok" * "Require merge queue": Unchecked → Checked * "Only merge non-failing pull requests" → Unchecked * "Merge method" → Squash and merge * [ ] Merge this PR using the "Merge when ready" button. * [ ] If it merges successfully: confirm the prepare-release step ran and published pre-release artifacts. * [ ] If the merge fails: it's possible we'll need to tweak steps slightly (e.g. if the step's name doesn't match the branch protection rule). The end goal is a "ci-ok" step in both the PR and merge workflows that captures whether everything is green. * [ ] If the issues aren't immediately resolvable, revert the changes made to branch protection settings. Folks will continue to merge with Bors. If all goes well, we should be able to continue merging with MQ for a while -- at least long enough to cut a new CLI release. Once we're confident we won't need to roll back: * [ ] Delete branch protection rules for: * staging * testing * [ ] Remove pu/pu from https://app.bors.tech/repositories Fixes #13501 ## Checklist - [ ] I have run `make tidy` to update any new dependencies - [ ] I have run `make lint` to verify my code passes the lint check - [ ] I have formatted my code using `gofumpt` <!--- Please provide details if the checkbox below is to be left unchecked. --> - [ ] I have added tests that prove my fix is effective or that my feature works <!--- User-facing changes require a CHANGELOG entry. --> - [ ] I have run `make changelog` and committed the `changelog/pending/<file>` documenting my change <!-- If the change(s) in this PR is a modification of an existing call to the Pulumi Cloud, then the service should honor older versions of the CLI where this change would not exist. You must then bump the API version in /pkg/backend/httpstate/client/api.go, as well as add it to the service. --> - [ ] Yes, there are changes in this PR that warrants bumping the Pulumi Cloud API version <!-- @pulumi employees: If yes, you must submit corresponding changes in the service repo. -->
This mostly a dummy PR we can try landing while merge queues are
enabled (and Bors is disabled) to confirm everything works as expected.
I needed to tweak the PR job slightly to emit a dummy "Publish OK" step. This is a no-op on PRs but still performs the publish when run in the queue.
Branch protection settings have been updated to no longer restrict merging to Bors, with these settings:
After all the checks pass, the merge button looks like this:
Merging will enqueue a squashed commit.