HowToRelease - TypeCobolTeam/TypeCobol GitHub Wiki

In a nutshell

  1. Be sure that all commits of the milestone are present in branch develop
  2. Create a branch from develop. The name of the branch is vX.Y.Z (eg. v1.2.5)
  3. Test the branch
  4. Run performance tests and save results
  5. Create a PR from this branch to master. The description of this PR will already contain the text of the release.
    • Also publish performance results
  6. Someone else approve the PR
    • Wait for AppVeyor to complete
    • Merge into Master once PR is validated
  7. Create a release from master (tag) with the text used in the PR
  8. Close the milestone

Milestone

Each release is associated with a milestone. Before creating a release, make sure that all issues of the milestone are closed. Otherwise move them to another milestone.

Close the milestone once the tag has been made.

Branching model

We follow the guideline described here: http://nvie.com/posts/a-successful-git-branching-model/ which means a release is a tag on the master.

Text of the release

The text of the release must specify what is new and what have been fixed in the associated milestone. You can use this MarkDown template to describe the tag:

**A short description to explain the main goal of this release**

# New
- Description of issue (#IssueNumber)

# Fixed
- Description of issue (#IssueNumber)

The following steps may be followed as to produce a proper changelog

  1. Retrieve all commits from the associated pull request (either manually if the number is limited or by using a plugin, i.e Stamp)
  2. Cross reference this list with issues and merged pull requests from the associated milestone to keep only references to actual issues/pull requests that have been worked on and merged.

Create the release from master

When you create a tag on the master. AppVeyor will detect and make a special build:

  • Compile and run tests
  • Package the solution: a zip for the configuration Release and one zip for the configuration EI_Release
  • Package the source code

** Warning AppVeyor will erase the description of the release, so you have to put it again after the build is complete.** ** Always put the description before creating the release (even if AppVeyor will delete it), because a mail is sent to all users watching the project with the description of the release.**