Skip to content

Commit

Permalink
Merge pull request juju#3824 from hatched/improve-release
Browse files Browse the repository at this point in the history
Improve release process and add pull request template.
  • Loading branch information
hatched authored Oct 2, 2018
2 parents fc48aeb + 14b677b commit fb9536a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 14 deletions.
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Before submitting a pull request, please make sure the following has been completed:

- You've rebased or merged in the latest version of develop.
- You've added or updated tests around this change.
- You've run `make check` locally and it's passed.
- You've updated the CHANGELOG.md with user friendly content explaining this change, if necessary.
- Explain in detail what this pull request accomplishes and why it's necessary.
- If you're fixing an issue include `fixes #1234` in this text box.
- Add QA notes so that reviewers can test this change.
27 changes: 13 additions & 14 deletions docs/release-process.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,35 @@
# GUI Release Process

This document outlines the process of creating a distribution archive of the Juju GUI.
This document outlines the process of creating a distribution archive of the
Juju GUI.

### Prepare for the Release

Clone a fresh copy from the root repo. Do not attempt a release in your
current working repository as the following commands expect a fresh clone.
Clone a fresh copy from the root repo. Do not attempt a release in your current
working repository as the following commands expect a fresh clone.
Make the clone using:

```bash
git clone [email protected]:juju/juju-gui.git juju-gui-release
cd juju-gui-release
```

Next you'll want to generate the list of changes for CHANGES.yaml.
The CHANGELOG.md should have been kept up to date but you'll want to review it,
and the list of merge commit messages, to make sure nothing was missed.

```bash
git log `git describe --tags --abbrev=0`..HEAD --author 'jujugui' --format='* [%h] %b'
git log `git describe --tags --abbrev=0`..HEAD --format='- %b' --merges | sed '/^- $/d'
```

Based on the log output, update the CHANGES.yaml file. If it makes sense, you
may collapse multiple commits into a single entry in the change log. Follow
the existing formatting of the file, including bullets and spaces as the tools
are non-forgiving with respect to format.
Change `[Unreleased]` to the next semver version and date it following the
existing format.

Commit the changes to the changelog.

```bash
git commit -am "Updating changelog."
git commit -am "Updated changelog."
```


Now checkout master and merge in develop.

```bash
Expand Down Expand Up @@ -72,7 +71,7 @@ make check

```bash
make run
guiproxy -env production
guiproxy -env prod
```

##### Test Juju controller integration with a new dist
Expand Down Expand Up @@ -102,8 +101,8 @@ git push origin develop

You can find the release on github at
https://github.com/juju/juju-gui/releases/tag/<the newest tag>. Update the
release notes with the entry from CHANGES.yaml and upload the
dist/jujugui-2.10.1.tar.bz2 package as a binary.
release notes with the entry from CHANGELOG.md and upload the
dist/jujugui-x.tar.bz2 package as a binary.

Congratulations! You've created a release of the Juju GUI.

Expand Down

0 comments on commit fb9536a

Please sign in to comment.