Skip to content

Latest commit

 

History

History
80 lines (49 loc) · 3.08 KB

File metadata and controls

80 lines (49 loc) · 3.08 KB

Maintenance

TODO: Add reasons for these things!

This document should serve as a guide for new maintainers of this package. It's a work in progress so expect it to change and, hopefully, get better and more complete over time.

Releases

Why release

So users can use new features. Ideally, no one is installing from source, i.e., remotes::install_github("nceas/arcticdatautils").

When to release

Whenever, really. Since this package isn't on CRAN, you can release it as much as you like or need to. You might want to release either when:

  • You accrue enough changes to write an interest release announcement ("Hey, look at his cool new release that fixes annoying bug X!")
  • You accrue at least one change and users of the package need the fix immediately

How to release

There are a few steps in releasing a new version of the package:

  1. Increment the Version tag in the DESCRIPTION file to the appropriate next version.

What this is set to specifies what the user sees from R when they run sessionInfo() or devtools::session_info() and tell you what version they have installed.

This package tries to use Semantic Versioning (semver) which can be summarized in three bullets:

Given a version number MAJOR.MINOR.PATCH, increment the:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes.

Note: A common mistake people make is thinking that the next version after 0.9 is 1.0, but it could be 0.10, then 0.11, and so on.

git and GitHub helps us a lot with determining what has changed so we can determine what the next release version number should be. We can compare a previous release to master to get a list of all commits what were made between that release and now:

https://github.com/NCEAS/arcticdatautils/compare/v0.6.3...master

  • Make and push a commit with just that diff,

    git add DESCRIPTION
    git commit -m "vx.y.z"
    git push

    Example here.

  1. Go to the releases tab and click "Draft a new release"
  • Tag version and Release title should match v{MAJOR}.{MINOR}.{PATCH}, e.g., v6.4.5

  • The release description should include:

  • Make liberal use of GitHub's Compare feature: Example comparing v0.6.3 to master.

You're done, now go tell people to upgrade!

remotes::install_github("nceas/arcticdatautils@*release")

Note: @*release specifies that the latest release should be installed.

Pull Requests

  • Code style
  • Commit style

TODO