diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 4e7e4aa0..753c6e87 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -25,29 +25,51 @@ This document contains guidelines specific to Rhino. ## Release process -1. Bump the package version in `DESCRIPTION` according to [SemVer](https://semver.org/). +### Preparation + +1. Announce the planned release on `#proj-rhino` +(approximate date and scope). +2. Bump the package version in `DESCRIPTION` according to [SemVer](https://semver.org/). Drop the development version (last component, e.g. `.9001`). -2. Update `NEWS.md`. -Create a new header for the release. -Edit the list of changes: reorder, reword, and add or remove details as appropriate. -See [keep a changelog](https://keepachangelog.com/) for some guidelines. -3. Submit the changes in a pull request titled "Release X.Y.Z". +3. Update `NEWS.md`. + 1. Replace the `(development version)` with `X.Y.Z` in the header. + Do add a link to GitHub releases yet - the link won't work and will fail CRAN checks. + 2. Edit the list of changes to make it useful and understandable for our users. + See [keep a changelog](https://keepachangelog.com/) for some guidelines. +4. Submit the changes in a pull request titled "Release X.Y.Z". Get it approved and merged. -4. [Publish a new pre-release](https://github.com/Appsilon/rhino/releases/new) on GitHub. -Create a new `vX.Y.Z-rc.1` tag on the `main` branch (`rc` stands for release candidate). -Use the same string for title, leave description blank. -5. Build the package with `devtools::build()` -and [submit it to CRAN](https://cran.r-project.org/submit.html). -Use your own name and email. -You will need access to `opensource@appsilon.com` to receive the confirmation link. -6. If CRAN reviewers ask for changes, -implement them and return to step 4 -(use `rc.2`, `rc.3` and so on for subsequent submissions). -7. Once the package is accepted to CRAN, -[publish a new release](https://github.com/Appsilon/rhino/releases/new) on GitHub. -Create a new `vX.Y.Z` tag on the `main` branch. -Use the same string for title, fill the description from `NEWS.md`. -8. Announce the release on `#proj-rhino`. + +### Submitting to CRAN + +1. Build and test the package. + 1. Checkout the `main` branch and ensure it is up to date. + 2. Build the package with `devtools::build()`. + 3. Test the package with `R CMD check --as-cran rhino_X.Y.Z.tar.gz`. + There should be no errors, warnings nor notes. +2. [Publish a new pre-release](https://github.com/Appsilon/rhino/releases/new) on GitHub. + 1. Create a new `vX.Y.Z-rc.1` tag on the `main` branch (`rc` stands for release candidate). + 2. Use the tag name for title. + 3. Leave description blank. +3. [Submit the package to CRAN](https://cran.r-project.org/submit.html). + 1. Use your own name and email. + 2. Click the confirmation link sent to `opensource@appsilon.com`. +4. If CRAN reviewers ask for changes, +implement them and return to step 1. +Use `rc.2`, `rc.3` and so on for subsequent submissions. + +### Once accepted to CRAN + +1. [Publish a new release](https://github.com/Appsilon/rhino/releases/new) on GitHub. + 1. Create a new `vX.Y.Z` tag on the `main` branch. + 2. Use the tag name for title. + 3. Fill in the description from `NEWS.md`. +2. Prepare the package for further development. + 1. Add a development version `.9000` in `DESCRIPTION`. + 2. Add a `# rhino (development version)` header in `NEWS.md`. + 3. Link the `# rhino X.Y.Z` header to the GitHub release in `NEWS.md`. +3. Create a task to upgrade [Rhino Showcase](https://github.com/Appsilon/rhino-showcase). +4. Announce the release on `#proj-rhino`. +5. Plan promotion (social media, blog post, ...). ## Development process diff --git a/DESCRIPTION b/DESCRIPTION index c69f4543..075b24aa 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: rhino Title: A Framework for Enterprise Shiny Applications -Version: 1.2.0 +Version: 1.2.0.9000 Authors@R: c( person("Kamil", "Żyła", role = c("aut", "cre"), email = "opensource+kamil@appsilon.com"), diff --git a/NEWS.md b/NEWS.md index a0e1f44d..e6167f4a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,6 @@ # rhino (development version) -# [rhino 1.2.0](https://github.com/Appsilon/rhino/releases/tag/v1.2.0-rc.2) +# [rhino 1.2.0](https://github.com/Appsilon/rhino/releases/tag/v1.2.0) ## Highlights 1. Don't use symbolic links internally.