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

Document the stable release workflow #127

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

ekohl
Copy link
Member

@ekohl ekohl commented Aug 27, 2020

No description provided.

All the release scripts assume they're releasing to master. For a stable release, additional parameters are needed. All of the above scripts accept parameters. The first is the directory where to execute. To create a release PR for the current directory to the 11.1-stable branch:

```console
$ ../../bin/release-pr . 11.1-stable
Copy link
Member

Choose a reason for hiding this comment

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

This assumes you have this structure, correct?

foreman-installer-module-sync
├── modules
│   └── puppet-foreman_proxy_content

That's not clear from the README. Is there a script or command that sets this up?

Copy link
Member

Choose a reason for hiding this comment

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

I ran this, and this was the output (with no changes):

ehelms@war puppet-foreman_proxy_content (master)$ ../../bin/release-pr . 11.1-stable
Switched to a new branch 'release-12.0.0'
On branch release-12.0.0
nothing to commit, working tree clean

Copy link
Member Author

Choose a reason for hiding this comment

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

This assumes you have this structure, correct?

Well yes, but it already did that before. Just keeping things consistent. Technically you can also run it from the root as ./bin/release-pr modules/puppet-foreman_proxy_content 11.1-stable but I always like to work in the directory so you have tools like git diff.

I ran this, and this was the output (with no changes):

It is intended that you run this instead of the others. So what I always did was git checkout 11.1-stable, build up a changelog (often manually because it was easier than using the tool), then ran this. You may also need to run bundle install or bundle update.

Copy link
Member

Choose a reason for hiding this comment

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

What does build up a changelog mean? Manually adding the entries in the CHANGELOG file?

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've rewritten it a bit. Please have a look at the latest version.


All the release scripts assume they're releasing to master. For a stable release, additional parameters are needed. All of the above scripts accept parameters. The first is the directory where to execute.

To create a release PR for the current directory to the 11.1-stable branch, first get your working directory set up correctly. This means that git should point to the correct code and `CHANGELOG.md` is prepared. Bundler should also have all gems installs. In the regular workflow, the `changelogs` command does this, but [Github Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator) doesn't really support non-linear releases (with branches) so in practice it's easier to do so by hand.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
To create a release PR for the current directory to the 11.1-stable branch, first get your working directory set up correctly. This means that git should point to the correct code and `CHANGELOG.md` is prepared. Bundler should also have all gems installs. In the regular workflow, the `changelogs` command does this, but [Github Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator) doesn't really support non-linear releases (with branches) so in practice it's easier to do so by hand.
To create a release PR for the current directory to the 11.1-stable branch, first get your working directory set up correctly. This means that git should point to the correct code and `CHANGELOG.md` is prepared. Bundler should also have all gems installed. In the regular workflow, the `changelogs` command does this, but [Github Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator) doesn't really support non-linear releases (with branches) so in practice it's easier to do so by hand.

Copy link
Member

Choose a reason for hiding this comment

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

If I read this paragraph I still find I am not sure what to do with respect to "git should point to the correct code" and "CHANGELOG.md is prepared". I think this is complicated by the previous release sections that talk about generating a changelog. Does this translate to:

  1. Create a release branch based on the X.Y version you are releasing, e.g. 11.1-stable
  2. Cherry pick changes into the release branch via PRs
  3. Open a PR that bumps the version, and modifies the CHANGELOG. This is done manually by the releaser.

Copy link
Member Author

Choose a reason for hiding this comment

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

Well, that's what you get when you write documentation at the end of a Friday afternoon ;)

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.

2 participants