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

chore: Explain how to promote a beta release #4562

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

philipphofmann
Copy link
Member

Explain how to promote a beta release in Contributing.md.

#skip-changelog

Explain how to promote a beta release in Contributing.md
CONTRIBUTING.md Outdated
Comment on lines 127 to 130
1. Checkout a new branch from the GH tag of the beta release: `git checkout -b publish/x.x.x x.x.x-beta.1`. You can't use `release/x.x.x` or `x.x.x` as the branch name as craft will fail, as it creates a `release/x.x.x` branch for updating the changelog and it will create a tag `x.x.x` for the release.
2. Duplicate the Changelog.md entry of the beta release and change header of the version number to unreleased.
3. Commit and push the changes.
4. Trigger the release workflow with use workflow from the `publish/x.x.x` branch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

m: During the release workflow, we can choose the same branch for Craft to merge it back, so Craft does not fail.
Also, we need to manually update the changelog in the main branch.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But that sucks pretty much. Ideally, we would merge the branch back to main. Does it then fail if we do that?

Copy link
Contributor

@brustolin brustolin Nov 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It fails because more likely than not, the main will be "ahead" of the beta tag.

This means "manually update the changelog in the main branch" is not optional, this always need to happen.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, but then I would say let crash merge back into the publish branch and then merge the publish branch manually back to main?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we can do that after merging main into the publish branch. Good idea

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also for setting the target as publish/x.x.x for the x.x.x release of x.x.x-beta.x.

And then merging manually, if merged directly to mainl, it will fail in better case, in worse case it will break changelog or code.

Not ideal but safe.

Note: The JS team solved this by using develop branch as default and main for releases. Maybe we could adopt similar workflow in the future.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the description. @brustolin and @krystofwoldrich please have another look.

@philipphofmann
Copy link
Member Author

@codecov-ai-reviewer review

Comment on lines +130 to +133
4. Trigger the release workflow with use workflow from the `publish/x.x.x` branch and set the target branch to merge into to `publish/x.x.x`, cause per default craft will merge into the main branch and this could lead to merge conflicts in the changelog.
5. Manually open a PR from the `publish/x.x.x` branch into the main branch and merge it.

After the successful release, craft merges the `publish/x.x.x` branch into the main branch and deletes the release branch.
Copy link
Contributor

@brustolin brustolin Nov 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Trigger the release workflow with use workflow from the `publish/x.x.x` branch and set the target branch to merge into to `publish/x.x.x`, cause per default craft will merge into the main branch and this could lead to merge conflicts in the changelog.
5. Manually open a PR from the `publish/x.x.x` branch into the main branch and merge it.
After the successful release, craft merges the `publish/x.x.x` branch into the main branch and deletes the release branch.
4. Trigger the release workflow with use workflow from the `publish/x.x.x` branch and set the target branch to merge into to `publish/x.x.x`, cause per default craft will merge into the main branch and this could lead to merge conflicts in the changelog.
a. After the successful release, craft merges the changes back into `publish/x.x.x` branch and deletes the release branch.
5. Manually open a PR from the `publish/x.x.x` branch into the main branch and merge it.

Or something like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants