Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into 643-ael02-spec-added@…
Browse files Browse the repository at this point in the history
…main
  • Loading branch information
benoit committed Feb 1, 2024
2 parents a543fc9 + 126dea2 commit 2d49016
Show file tree
Hide file tree
Showing 55 changed files with 1,249 additions and 256 deletions.
2 changes: 2 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ docs
^.gitlab-ci.yml
CODE_OF_CONDUCT.md
SECURITY.md
LICENSE
data-raw/*
^pkgdown$
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ The package maintainer also reserves the right to adjust the criteria to recogni
If you have further questions regarding the contribution guidelines, please contact the package/repository maintainer.

<!-- urls -->
[docs]: https://insightsengineering.github.io/dunlin/index.html
[articles]: https://insightsengineering.github.io/dunlin/main/articles/index.html
[license]: https://insightsengineering.github.io/dunlin/main/LICENSE-text.html
[docs]: https://insightsengineering.github.io/dunlin/latest-tag/index.html
[articles]: https://insightsengineering.github.io/dunlin/latest-tag/articles/index.html
[license]: https://insightsengineering.github.io/dunlin/latest-tag/LICENSE-text.html
[insights]: https://github.com/insightsengineering/dunlin/pulse
124 changes: 124 additions & 0 deletions .github/ISSUE_TEMPLATE/cran-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
---
name: 🎉 CRAN Release
description: Template for release to CRAN
title: "[Release]: <version>"
labels: ["release"]
assignees:
- KlaudiaBB
- cicdguy
- shajoezhu
body:
- type: markdown
attributes:
value: |
⚠️ Please do not link or mention any internal references in this issue. This includes internal URLs, intellectual property and references.
- type: textarea
id: blocked-by
attributes:
label: Blocked by
description: Any PRs or issues that this release is blocked by.
placeholder: Add a list of blocking PRs or issues here.
value: |
### PRs
- [ ] PR 1
### Issues
- [ ] Issue 1
validations:
required: true
- type: textarea
id: pre-release
attributes:
label: Pre-release
description: Pre-requisites that must be fulfilled before initiating the release process.
placeholder: Add your list of pre-requisites here.
value: |
- [ ] Make sure you adhere to CRAN submission policy: https://cran.r-project.org/web/packages/submission_checklist.html; https://cran.r-project.org/web/packages/policies.html.
- [ ] Make sure that high priority bugs (label "priority" + "bug") have been resolved before going into the release.
- [ ] Review old/hanging PRs before going into the release (Optional).
- [ ] Revisit R-package's lifecycle badges (Optional).
- [ ] Make sure that all upstream dependencies of this package that need to be submitted to CRAN were accepted before going into release activities.
- [ ] Make sure integration tests are green 2-3 days before the release. Look carefully through logs (check for warnings and notes).
- [ ] Decide what gets merged in before starting release activities.
- type: textarea
id: release
attributes:
label: Release
description: The steps to be taken in order to create a release.
placeholder: Steps to create a release.
value: |
### Prepare the release
- [ ] Create a new release candidate branch
`git checkout -b release-candidate-vX.Y.Z`
- [ ] Update NEWS.md file: make sure it reflects a holistic summary of what has changed in the package.
- [ ] Remove the additional fields (`Remotes`) from the DESCRIPTION file where applicable.
- [ ] Make sure that the minimum dependency versions are updated in the DESCRIPTION file for the package and its reverse dependencies (Optional).
- [ ] Increase versioned dependency on {package name} to >=X.Y.Z (Optional).
- [ ] Commit your changes and create the PR on GitHub (add "[skip vbump]" in the PR title). Add all updates, commit, and push changes:
`# Make the necessary modifications to your files
# Stage the changes
git add <files your modified>
# Commit the changes
git commit -m "[skip vbump] <Your commit message>"
git push origin release-candidate-vX.Y.Z`
### Test the release
- [ ] Execute the manual tests on Shiny apps that are deployed on various hosting providers (Posit connect and shinyapps.io) - track the results in GitHub issue (Applicable only for frameworks that use Shiny).
- [ ] Monitor integration tests, if integration fails, create priority issues on the board.
- [ ] Execute UAT tests (Optional).
### CRAN submission
- [ ] Tag the update(s) as a release candidate vX.Y.Z-rc<iteration-number> (e.g. v0.5.3-rc1) on the release candidate branch (release-candidate-vX.Y.Z).
`# Create rc tag for submission for internal validation
git tag vX.Y.Z-rc<iteration number>
git push origin vX.Y.Z-rc<iteration number>`
- [ ] Build the package locally using the command:`R CMD build .` which will generate a .tar.gz file necessary for the CRAN submission.
- [ ] Submit the package to https://win-builder.r-project.org/upload.aspx for testing, for more details please see "Building and checking R source packages for Windows": https://win-builder.r-project.org/.
- [ ] Once tested, send the package that was built in the previous steps to CRAN via this form: https://cran.r-project.org/submit.html.
- [ ] Address CRAN feedback, tag the package vX.Y.Z-rc(n+1) and repeat the submission to CRAN whenever necessary.
- [ ] Get the package accepted and published on CRAN.
### Tag the release
- [ ] If the additional fields were removed, add them back in a separate PR, and then merge the PR back to main (add "[skip vbump]" in the PR title). If nothing was removed just merge the PR you created in the "Prepare the release" section to 'main'. Note the commit hash of the merged commit. **Note:** additional commits might be added to the `main` branch by a bot or an automation - we do **NOT** want to tag this commit.
### Make sure of the following before continuing
- [ ] CI checks are passing in GH before releasing the package.
- [ ] Shiny apps are deployable and there are no errors/warnings (Applicable only for frameworks that use Shiny).
- [ ] Create a git tag with the final version set to vX.Y.Z on the main branch. In order to do this:
1. Checkout the commit hash.
`git checkout <commit hash>`
2. Tag the hash with the release version (vX.Y.Z).
`git tag vX.Y.Z`
3. Push the tag to make the final release.
`git push origin vX.Y.Z`
- [ ] Update downstream package dependencies to (>=X.Y.Z) in {package name}.
Note: Once the release tag is created, the package is automatically published to internal repositories.
- type: textarea
id: post-release
attributes:
label: Post-release
description: The list of activities to be completed after the release.
placeholder: The steps that must be taken after the release.
value: |
- [ ] Ensure that CRAN checks are passing for the package.
- [ ] Make sure that the package is published to internal repositories.
- [ ] Make sure internal documentation is up to date.
- [ ] Review and update installation instructions for the package wherever needed (Optional).
- [ ] Update all integration tests to reference the new release.
- [ ] Announce the release on ________.
- type: textarea
id: decision-tree
attributes:
label: Decision tree
description: Any decision tree(s) that would aid release management
placeholder: Any decision tree(s) that would aid release management.
value: |
Click [here](https://github.com/insightsengineering/.github/blob/main/.github/ISSUE_TEMPLATE/RELEASE_DECISION_TREE.md) to see the release decision tree.
122 changes: 122 additions & 0 deletions .github/ISSUE_TEMPLATE/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
name: 🚀 Release
description: Template for package release
title: "[Release]: <version>"
labels: ["release"]
assignees:
- KlaudiaBB
- cicdguy
body:
- type: markdown
attributes:
value: |
⚠️ Please do not link or mention any internal references in this issue. This includes internal URLs, intellectual property and references.
- type: textarea
id: blocked-by
attributes:
label: Blocked by
description: Any PRs or issues that this release is blocked by.
placeholder: Add a list of blocking PRs or issues here.
value: |
### PRs
- [ ] PR 1
### Issues
- [ ] Issue 1
validations:
required: true
- type: textarea
id: pre-release
attributes:
label: Pre-release
description: Pre-requisites that must be fulfilled before initiating the release process.
placeholder: Add your list of pre-requisites here.
value: |
- [ ] Make sure that high priority bugs (label "priority" + "bug") have been resolved before going into the release.
- [ ] Review old/hanging PRs before going into the release.
- [ ] Revisit R-package's lifecycle badges (Optional).
- [ ] Release Manager: Discuss package dependencies, create a plan to sequentially close release activities and submit groups of packages for internal validation (Applicable only for regulatory release).
- [ ] Check Validation Pipeline dry-run results for the package.
- [ ] Make sure all relevant integration tests are green 2-3 days before the release. Look carefully through logs (check for warnings and notes).
- [ ] Inform about the soft code freeze, decide what gets merged in before starting release activities.
- type: textarea
id: release
attributes:
label: Release
description: The steps to be taken in order to create a release.
placeholder: Steps to create a release.
value: |
### Prepare the release
- [ ] Create a new release candidate branch
`git checkout -b release-candidate-vX.Y.Z`
- [ ] Update NEWS.md file: make sure it reflects a holistic summary of what has changed in the package, check README.
- [ ] Remove the additional fields (`Remotes`) from the DESCRIPTION file where applicable.
- [ ] Make sure that the minimum dependency versions are updated in the DESCRIPTION file for the package.
- [ ] Increase versioned dependency on {package name} to >=X.Y.Z.
- [ ] Commit your changes and create the PR on GitHub (add "[skip vbump]" in the PR title). Add all updates, commit, and push changes:
`# Make the necessary modifications to your files
# Stage the changes
git add <files your modified>
# Commit the changes
git commit -m "[skip vbump] <Your commit message>"
git push origin release-candidate-vX.Y.Z`
### Test the release
- [ ] Execute the manual tests on Shiny apps that are deployed on various hosting providers (Posit connect and shinyapps.io) - track the results in GitHub issue (Applicable only for frameworks that use Shiny).
- [ ] Monitor integration tests, if integration fails, create priority issues on the board.
- [ ] Execute UAT tests (Optional).
### Validation loop
Note: This section is applicable only for regulatory packages.
- [ ] Tag the update(s) as a release candidate vX.Y.Z-rc<iteration-number> (e.g. v0.5.3-rc1) on the release candidate branch (release-candidate-vX.Y.Z).
`# Create rc tag for submission for internal validation
git tag vX.Y.Z-rc<iteration number>
git push origin vX.Y.Z-rc<iteration number>`
- [ ] Submit the package for internal validation.
- [ ] Address any feedback (internal validation/user testing), retag the package as a release candidate vX.Y.Z-rc(n+1). Repeat the submission for internal validation if necessary.
- [ ] Get the package validated.
### Tag the release
- [ ] If the additional fields were removed, add them back in a separate PR, and then merge the PR back to main (add "[skip vbump]" in the PR title). If nothing was removed just merge the PR you created in the "Prepare the release" section to `main`. Note the commit hash of the merged commit. **Note:** additional commits might be added to the `main` branch by a bot or an automation - we do **NOT** want to tag this commit.
#### Make sure of the following before continuing with the release:
- [ ] CI checks are passing in GH.
- [ ] Shiny apps are deployable and there are no errors/warnings (Applicable only for frameworks that use Shiny).
- [ ] Create a git tag with the final version set to vX.Y.Z on the main branch. In order to do this:
1. Checkout the commit hash.
`git checkout <commit hash>`
2. Tag the hash with the release version (vX.Y.Z).
`git tag vX.Y.Z`
3. Push the tag to make the final release.
`git push origin vX.Y.Z`
- [ ] Update downstream package dependencies to (>=X.Y.Z) in {package name}.
Note: Once the release tag is created, the package is automatically published to internal repositories.
- type: textarea
id: post-release
attributes:
label: Post-release
description: The list of activities to be completed after the release.
placeholder: The steps that must be taken after the release.
value: |
- [ ] Make sure that the package is published to internal repositories (Validated and/or Non-Validated repository).
- [ ] Review and update installation instructions for the package if needed.
- [ ] Make sure internal documentation/documentation catalogs are up to date.
- [ ] Notify the IDR team to start post-release/clean-up activities.
- [ ] Announce the release on ________.
- type: textarea
id: decision-tree
attributes:
label: Decision tree
description: Any decision tree(s) that would aid release management
placeholder: Any decision tree(s) that would aid release management.
value: |
Click [here](https://github.com/insightsengineering/.github/blob/main/.github/ISSUE_TEMPLATE/RELEASE_DECISION_TREE.md) to see the release decision tree.
1 change: 1 addition & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
checking S3 generic/method consistency .* NOTE
checking Rd .usage sections .* NOTE
checking for unstated dependencies in vignettes .* NOTE
checking top-level files .* NOTE
coverage:
if: github.event_name != 'push'
name: Coverage 📔
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
checking R code for possible problems .* NOTE
checking examples .* NOTE
checking Rd line widths .* NOTE
checking top-level files .* NOTE
coverage:
name: Coverage 📔
needs: [release, docs]
Expand Down
2 changes: 1 addition & 1 deletion .lintr
Original file line number Diff line number Diff line change
@@ -1 +1 @@
linters: with_defaults(line_length_linter = line_length_linter(120), object_usage_linter = NULL, object_name_linter = NULL, cyclocomp_linter = cyclocomp_linter(complexity_limit = 25L))
linters: linters_with_defaults(line_length_linter = line_length_linter(120), object_usage_linter = NULL, object_name_linter = NULL, cyclocomp_linter = cyclocomp_linter(complexity_limit = 25L))
12 changes: 7 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ default_language_version:
python: python3
repos:
- repo: https://github.com/lorenzwalthert/precommit
rev: v0.3.2.9021
rev: v0.4.0
hooks:
- id: style-files
name: Style code with `styler`
Expand All @@ -18,9 +18,11 @@ repos:
- checkmate
- dplyr
- forcats
- glue
- magrittr
- methods
- rlang
- stringr
- tibble
- yaml
- id: spell-check
Expand All @@ -40,9 +42,9 @@ repos:
.*\.sh|
.*\.svg|
.*\.xml|
(.*/|)\_pkgdown.yml|
(.*/|)\_pkgdown.y[a]?ml|
(.*/|)\.gitignore|
(.*/|)\.gitlab-ci\.yml|
(.*/|)\.gitlab-ci\.y[a]?ml|
(.*/|)\.lintr|
(.*/|)\.pre-commit-.*|
(.*/|)\.Rbuildignore|
Expand All @@ -53,8 +55,8 @@ repos:
(.*/|)LICENSE|
(.*/|)NAMESPACE|
.*\-package.Rd|
(.*/|)staged_dependencies\.yaml|
(.*/|)staged_dependencies\.y[a]?ml|
(.*/|)WORDLIST|
\.github/.*\.yaml|
\.github/.*\.y[a]?ml|
data/.*
)$
17 changes: 11 additions & 6 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
Package: dunlin
Title: Preprocessing Tools for Clinical Trial Data
Version: 0.1.5.9000
Date: 2023-10-05
Version: 0.1.7.9001
Date: 2024-02-01
Authors@R: c(
person("Benoit", "Falquet", , "benoit.falquet@roche.com", role = c("aut", "cre")),
person("Liming", "Li", , "liming.li@roche.com", role = "aut"),
person("Liming", "Li", , "liming.li@roche.com", role = c("aut", "cre")),
person("Benoit", "Falquet", , "benoit.falquet@roche.com", role = "aut"),
person("Xiaoli", "Duan", , "xiaoli.duan@roche.com", role = "ctb"),
person("Pawel", "Rucki", , "pawel.rucki@roche.com", role = "ctb"),
person("F. Hoffmann-La Roche AG", role = c("cph", "fnd"))
)
Description: A collection of functions to preprocess data and organize
them in a format amenable to use by chevron.
License: Apache License 2.0 | file LICENSE
License: Apache License 2.0
URL: https://insightsengineering.github.io/dunlin/,
https://github.com/insightsengineering/dunlin/
BugReports: https://github.com/insightsengineering/dunlin/issues
Depends:
R (>= 4.0.0)
Imports:
Expand Down Expand Up @@ -40,7 +45,7 @@ Encoding: UTF-8
Language: en-US
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
RoxygenNote: 7.3.1
Collate:
'assertions.R'
'co_relevels.R'
Expand Down
5 changes: 3 additions & 2 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ S3method(reformat,default)
S3method(reformat,factor)
S3method(reformat,list)
export(add_whisker)
export(assert_all_tablenames)
export(assert_valid_format)
export(assert_valid_list_format)
export(attr_label)
Expand All @@ -27,15 +28,15 @@ export(list2rules)
export(log_filter)
export(ls_explicit_na)
export(ls_unite)
export(mini_pivot_wider)
export(multi_pivot_wider)
export(multi_id_pivot_wider)
export(poly_pivot_wider)
export(print_log)
export(propagate)
export(reformat)
export(remove_whisker)
export(render_safe)
export(rule)
export(show_whisker)
import(dplyr)
import(rlang)
importFrom(checkmate,assert_class)
Expand Down
Loading

0 comments on commit 2d49016

Please sign in to comment.