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

Release 3.10.10 #3800

Closed
22 of 25 tasks
johanstokking opened this issue Feb 15, 2021 · 1 comment
Closed
22 of 25 tasks

Release 3.10.10 #3800

johanstokking opened this issue Feb 15, 2021 · 1 comment
Assignees
Labels
in progress We're working on it needs/backport Needs to be backported to previous versions that are maintained release
Milestone

Comments

@johanstokking
Copy link
Member

johanstokking commented Feb 15, 2021

Overview

This is a checklist for releases. This is filled in by both the releaser and the reviewer where necessary.

Preparation

  • Create a release/v3.${minor}.${patch} branch off the v3.${minor} branch.

    $ git checkout v3.${minor}
    $ git checkout -b release/v3.${minor}.${patch}
  • Update submodules

    $ mage git:pullSubmodules
    $ git add data
    $ git commit -m "data: Update external repositories" # if any changes.
  • Update the CHANGELOG.md file

    • Change the Unreleased section to the new version and add date obtained via date +%Y-%m-%d (e.g. ## [3.2.1] - 2019-10-11)
    • Check if we didn't forget anything important
    • Remove empty subsections
    • Update the list of links in the bottom of the file
    • Add new Unreleased section:
      ## [Unreleased]
      
      ### Added
      
      ### Changed
      
      ### Deprecated
      
      ### Removed
      
      ### Fixed
      
      ### Security
  • Once complete, you can add the file to staging

    $ git add CHANGELOG.md
  • If releasing a new minor version, update the SECURITY.md file and stage it for commit.

    $ git add SECURITY.md
  • Bump version

    • Run the necessary mage bump commands based on the type of release

      $ tools/bin/mage version:bumpMajor   # bumps a major version (from 3.4.5 -> 4.0.0).
      $ tools/bin/mage version:bumpMinor   # bumps a minor version (from 3.4.5 -> 3.5.0).
      $ tools/bin/mage version:bumpPatch   # bumps a patch version (from 3.4.5 -> 3.4.6).
      $ tools/bin/mage version:bumpRC      # bumps a release candidate version (from 3.4.5-rc1 -> 3.4.5-rc2).
      $ tools/bin/mage version:bumpRelease # bumps a pre-release to a release version (from 3.4.5-rc1 -> 3.4.5).
      # These bumps can be combined (i.e. `version:bumpMinor version:bumpRC` bumps 3.4.5 -> 3.5.0-rc1).
    • Write the version files

      $ tools/bin/mage version:files
    • Commit the version bump

      $ tools/bin/mage version:commitBump
  • Create a pull request targeting v3.${minor}.

Check 1 (for reviewers)

  • The Changelog is complete i.e., contains only the changes that are in the release (not more/less).
  • SECURITY.md is updated.
  • The version files are correctly updated.

Release

  • Once this PR is approved and merged, checkout the latest v3.${minor} branch locally.

  • Create a version tag

    $ tools/bin/mage version:bumpXXX version:tag
    # For RCs, make sure to use the same bumping combination (ex: `version:bumpXXX version:bumpYYY`) as used in the bump step above.
  • Push the version tag. Once this is done, CI automatically starts building and pushing to package managers. When this is done, you'll find a new release on the releases page.

    $ git push origin ${version}

Post Release

  • Edit the release notes on the Github releases page, which is typically copied from CHANGELOG.md.
  • For non RC releases, push the Docker latest tag.
    $ versionDockerTag=${version#"v"} # v3.6.1 -> 3.6.1
    $ docker pull thethingsnetwork/lorawan-stack:${versionDockerTag}
    $ docker tag thethingsnetwork/lorawan-stack:{versionDockerTag} thethingsnetwork/lorawan-stack:latest
    $ docker push thethingsnetwork/lorawan-stack:latest

Check 2 (for reviewers)

  • The new release contains only the intended commits. This can be checked using https://github.com/TheThingsNetwork/lorawan-stack/compare/v<previous-version>...v<current-version>
  • The Docker latest tag is up to date.
@johanstokking johanstokking added this to the February 2021 milestone Feb 15, 2021
@johanstokking johanstokking self-assigned this Feb 15, 2021
@johanstokking johanstokking changed the title Release 3.11.1 Release 3.10.10 Feb 15, 2021
@johanstokking johanstokking added the needs/backport Needs to be backported to previous versions that are maintained label Feb 15, 2021
@johanstokking
Copy link
Member Author

Decided to do a backport instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in progress We're working on it needs/backport Needs to be backported to previous versions that are maintained release
Projects
None yet
Development

No branches or pull requests

1 participant