Skip to content

Release Guide

Carson Long edited this page Apr 1, 2022 · 2 revisions

Brief

The goal of this guide is to help you create a new log-cache-cli public release. Please free to suggest changes based on your experience with this guide.

Release Cadence

Releases are currently published on a best-effort cadence.

Release Overview

Contributors with write access may cut releases as-needed to fix bugs, bump dependencies for stability, or introduce new features. The ultimate goal is signal to users that there is a new Log Cache cf CLI plugin with those changes available, and that it's available to users for download from this repo or as a community plugin download community plugin.

💡 Each change is made from the main branch.

Process

Step 1

Check if the code is in a good state to be released.

  1. Go to the main branch and see that it passed the "Unit tests and lint" Github Action, it should be represented as a green check next to the commit SHA.
  2. Clone the repo and run any steps that you feel are required to ensure that the plugin is in a good state to be released. Typically, this should involve building and installing the plugin, as well as testing it against a cf-d environment.

Step 2

Decide on a version number for the new release

  1. Take note of the version number of last release (ie. 4.0.3).
  2. Review the changes made since the last release.
  3. Decide whether this should be a major, minor, or patch release according to semantic versioning.
  4. Decide on your new release's version number by incrementing the version number of the last release by a
    1. major (ie. 4.0.3 -> 5.0.0),
    2. minor (ie. 4.0.3 -> 4.1.0),
    3. or patch (ie. 4.0.3 -> 4.0.4).

💡 Please visit the semver webpage if you're aren't familiar with semantic versioning.

Step 3

Generate builds for Darwin, Linux, and Windows, and cut a draft release with them.

  1. Go to the "Release from main" Github action view.
  2. Select "Run workflow", and enter your new release's version number (Note: please omit the semver "v" prefix here*).
  3. Wait for the workflow to succeed. Take appropriate action if it fails.

Step 4

Publish the release.

  1. Go to the log-cache-cli releases page.
  2. Locate your draft release at the top and hit the edit icon.
  3. Make sure you specify the Golang version that the plugin is built with! The workflow should include it for you at the top.
  4. Edit the release notes for clarity.
  5. Hit publish release 🎉 .

Step 4

Update the community plugin repo in order for users to be able to easily install your release (without downloading the binary directly) via cf install-plugin log-cache.

  1. Follow the steps in the repo's README to create a PR updating the log-cache-cli version listed.
Clone this wiki locally