5.3.2.5.2. Release to GitHub

At this time only one ISO-related SIMP project (rubygem-simp-cli) is configured to automatically release to GitHub. So, this section will decribe both the automated steps and the manual steps required to release the other ISO-related projects to GitHub.

5.3.2.5.2.1. Automated Release Steps

Some SIMP ISO-related project are configured to automatically create a GitHub release, when an annotated tag is created for the GitHub project and the TravisCI tests for the annotated tag push succeed. Such a project will contain a deploy step for the releases provider in its .travis.yml file.

To create the a release from an annotated tag:

  1. Clone the component repository and checkout the development branch to be tagged

    git clone git@github.com:simp/rubygem-simp-cli.git
    cd rubygem-simp-cli
    git checkout master # this step isn't needed for master branch
    
  2. Generate the changelog content

    • Manually extract the changelog content from the CHANGELOG.md, CHANGELOG, or build/<component>.spec file and write into a file. In this example, the written file will be foo.
  3. Create the annotated tag. In this example the content of ‘foo’ is:

    Release of 4.0.4
    
    * Mon Oct 16 2017 Trevor Vaughan <tvaughan@onyxpoint.com> - 4.0.4
      - Fix intermittent failure in RPM builds due to missing rubygems
    
    git tag -a 4.0.4 -F foo
    git push origin 4.0.4
    

    Note

    For markdown-style changelogs, you will need to specify --cleanup=whitespace so comment headers are not stripped.

  4. Verify TravisCi completes successfully

    Important

    If any of the required TravisCI builds for the project fail, for example due to intermittent connectivity problems with GitHub, you can complete the release process by manually restarting the failed build on the Travis page for that build.

  5. Verify release exists on GitHub. This release will have been created by simp-auto.

5.3.2.5.2.2. Manual Release Steps

Some SIMP ISO-related projects require manual steps to generate a GitHub release. None of these projects will contain a deploy step in its .travis.yml file.

To create the release from an annotated tag:

  1. Clone the component repository and checkout the development branch to be tagged

    git clone git@github.com:simp/simp-adapter.git
    cd simp-adapter
    git checkout master # this step isn't needed for master branch
    
  2. Generate the changelog content

    • Manually extract the changelog content from the build/<name>.spec, file and write into a file. In this example, the written file will be foo.
  3. Create the annotated tag. In this example the content of ‘foo’ is:

    Release of 0.0.5
    
    * Fri Oct 20 2017 Trevor Vaughan <tvaughan@onyxpoint.com> - 0.0.5-0
      - Fixed the Changelog dates
    
    git tag -a 0.0.5 -F foo
    git push origin 0.0.5
    

    Note

    For markdown-style changelogs, you will need to specify --cleanup=whitespace so comment headers are not stripped.

  4. Verify TravisCi completes successfully

  5. Create a release of the annotated tag on GitHub.

    • Select the Draft a new release button.
    • Click in the Tag version box and then select the annotated release version from the drop-down menu.
    • Select the Publish release button. The changelog information for the annotated tag will automatically appear as the release notes.