MAINTAINERS.md

Maintainers

The information provided here are for the maintainers of the project. Contributors should read the Contributing Guide instead.

Merging a Pull Request

A PR can only be merged into master by a maintainer, if all of these conditions are met:

Release process

Maintainers need to perform the following actions in the order described here to push out a release.

⚠️⚠️ First decide whether to publish on CRAN ⚠️⚠️

The CRAN policy states the following:

Submitting updates should be done responsibly and with respect for the volunteers’ time. Once a package is established (which may take several rounds), “no more than every 1–2 months” seems appropriate. ℹ️ For more information, see https://r-pkgs.org/release.html#cran-policies and https://cran.r-project.org/web/packages/policies.html.

But on our end, we can provide more frequent releases. In this case, do not publish to CRAN. The new version will only be available via an installation from GitHub.

Preparing a CRAN submission with rhub

NOTES: required only if we decide to publish to CRAN

Before starting a release, check that the output of the rhub package is stored in cran-comments.md (the most recent output is at the top of the file, and the oldest at the bottom). If this is not the case, you must perform the following steps.

First installation

install.packages("rhub")
library(rhub)

Locally, configure the email address of the maintainer (described in DESCRIPTION): - retrieve the token you previously received by email - call the validate_email.html by passing the maintainer email and the token

If you don't have any token, rhub will prompt you to generate a token (on the first check).

Check

Follow this procedure: https://r-hub.github.io/rhub/articles/rhub.html#prepare-a-cran-submission.

cran_prep <- check_for_cran()

⚠️ Locally, you can only see one run of the environment. To see the other one, you can get the URLs from the top of the local run, and open it on a browser.

Example:

─  Preparing build, see status at
https://builder.r-hub.io/status/bpmnVisualizationR_X.Y.Z.tar.gz-A
https://builder.r-hub.io/status/bpmnVisualizationR_X.Y.Z.tar.gz-B
https://builder.r-hub.io/status/bpmnVisualizationR_X.Y.Z.tar.gz-C

Post processing

In cran-comments.md: - At the top, add this template:

# bpmnVisualizationR <X.Y.Z>.9000

This is a <re-submission | new submission>. In this version, we have:

* <NEW CHANGE>

## Test environments
<RESULT OF check_for_cran()>

## R CMD check results
<RESULT OF check_for_cran()>

## Response to CRAN for last submission

> <CITATION>
cran_prep$cran_summary()
## Response to CRAN for last submission

> <CITATION>

GitHub issues and milestones update

Note: we always put issues related to a version in a Milestone whose name matches the version.

Prepare the GitHub Release Notes

Initiate the Release

Manual procedure

⚠️⚠️⚠️ Only if the GitHub job that release this repository fails after manual re-run! ⚠️⚠️⚠️

Verify the version in files

Check that the files are using the version to be released: - DESCRIPTION - index (used in the HTML documentation) - README

Create a new PR (it must have the skip-changelog label as we don't want it to appear in the release notes) and merge it, if some files require changes. The PR/commit message should be chore(release): set version to x.y.z.

Once this is done, tag manually with the following command (do not forget to replace x.y.z by the actual version):

git tag -a vx.y.z -m "chore(release): x.y.z"
git push && git push --tags

Use a development version

Add the .9000 suffix to the Version field in the DESCRIPTION file to indicate that this is a development version (for more explanations, see the R documentation). For instance, if the released version was 0.3.0, the Version field in the DESCRIPTION file should be 0.3.O.9000.

Create a new PR (it must have the skip-changelog label as we don't want it to appear in the release notes) and merge it. The PR/commit message should be chore(release): set the development version to x.y.z.9000.

Publish the GitHub Release Notes

Publish the new version on CRAN

NOTES: required only if we decide to publish to CRAN

Generate and retrieve the source package

It conforms to the CRAN Submission policies first

source package selection

Do the submission

Follow the submission and the CRAN publishing

Once the submission has been confirmed, a CRAN manager examines the packages. While the process is lengthy for new packages, it is much quicker for established ones.

For example, it took some time and many exchanges with maintainers, involving several corrections and explanations, for the first version of the bpmnVisualizationR package to be released as 0.3.2. But the next version, 0.5.0, was accepted 20 minutes after submission.

The maintainer review is sent by email. Please keep an eye on the address used to submit the package.

Accepted submission

When accepted, the email content looks like:

Dear maintainer, thanks, package bpmnVisualizationR_0.5.0.tar.gz is on its way to CRAN.

Then, monitor the package propagation: - the version is first pushed at https://github.com/cran/bpmnVisualizationR/commits/main - the version is actually available when it can be seen at https://cran.r-project.org/package=bpmnVisualizationR

The package for Windows is published several hours or days after. As bpmnVisualizationR doesn't include native code, we can announce the package availability without waiting the Windows flavor.

Rejected submission

If the submission is rejected, a new release is generally required as it involves changing the content of the main branch.

In this case, update the release notes to mention that the version is not available on CRAN (you can explain why) and publish it.



process-analytics/bpmn-visualization-R documentation built on Jan. 25, 2025, 10:34 a.m.