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

Pre-release activities #506

Merged
merged 96 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
23ad8f0
add cran release template and pkg arg
kartikeyakirar Dec 28, 2023
46a02e1
added cran badges
kartikeyakirar Dec 28, 2023
b61457f
lower case teal
kartikeyakirar Dec 28, 2023
44b2252
removing internal example which uses :::
kartikeyakirar Dec 28, 2023
2243f7b
removing internal example.
kartikeyakirar Dec 29, 2023
8b90201
updating vignettes examples
kartikeyakirar Jan 2, 2024
a9ce8a1
removing toplogical_sort
kartikeyakirar Jan 2, 2024
2dcd6f1
rm :::
kartikeyakirar Jan 2, 2024
7b1bc4a
removing unused variable.
kartikeyakirar Jan 2, 2024
9bf22ce
reverting changes for topological_sort.
kartikeyakirar Jan 2, 2024
c72b90a
reduce wordlist
kartikeyakirar Jan 2, 2024
8d09666
removing the unused variable.
kartikeyakirar Jan 2, 2024
34c1d71
fixing linter issue.
kartikeyakirar Jan 2, 2024
8da8e4f
rm backtick
kartikeyakirar Jan 2, 2024
c37bc6f
adding missing topic
kartikeyakirar Jan 2, 2024
51684a7
fixing missing topic
kartikeyakirar Jan 2, 2024
7911322
adding rd
kartikeyakirar Jan 2, 2024
6498615
Update README.md
kartikeyakirar Jan 2, 2024
eabd720
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
cebfbe2
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
bc72cb5
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
749bf2d
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
24e87c1
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
efc0e9d
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
cce274c
Update vignettes/teal-slice-classes.Rmd
kartikeyakirar Jan 2, 2024
3898491
Update vignettes/filter-panel-for-developers.Rmd
kartikeyakirar Jan 2, 2024
f26b5af
reverting changes for keyword `subtype`
kartikeyakirar Jan 5, 2024
1f8f179
Merge branch 'pre-release-cleanup@main' of https://github.com/insight…
kartikeyakirar Jan 5, 2024
34fe8b9
adding vignette for internal example
kartikeyakirar Jan 5, 2024
e353176
Merge 34fe8b9b5499eec98bc680224732c1d7e24ac3bc into 1a962fb95314b9c2a…
kartikeyakirar Jan 5, 2024
b6736b3
[skip actions] Restyle files
github-actions[bot] Jan 5, 2024
2a626db
fixing spellcheck
kartikeyakirar Jan 5, 2024
7f203a0
Update NEWS.md
kartikeyakirar Jan 5, 2024
cf193d3
amend suggestions for vignettes
kartikeyakirar Jan 5, 2024
a8faf95
Merge branch 'pre-release-cleanup@main' of https://github.com/insight…
kartikeyakirar Jan 5, 2024
c561ead
update title
kartikeyakirar Jan 5, 2024
3b0a030
update title
kartikeyakirar Jan 5, 2024
db8918f
fixing spellcheck issue.
kartikeyakirar Jan 5, 2024
781e30b
updated the document
kartikeyakirar Jan 5, 2024
7feb212
adding missing examples
kartikeyakirar Jan 5, 2024
b1b8262
Merge 7feb212b81183ed335d45565112f9c0f9b1643ab into 1a962fb95314b9c2a…
kartikeyakirar Jan 5, 2024
e9f2424
[skip actions] Restyle files
github-actions[bot] Jan 5, 2024
2b61f82
fixing lintr issue.
kartikeyakirar Jan 5, 2024
74dd7fc
fix title case
Jan 5, 2024
134cdf7
updated order of section.
kartikeyakirar Jan 5, 2024
50fca07
improve documentation
Jan 8, 2024
dc43d9e
adding seealso for internal function
kartikeyakirar Jan 8, 2024
1c9194d
chnage heading
kartikeyakirar Jan 8, 2024
ae03df0
Merge branch 'pre-release-cleanup@main' of https://github.com/insight…
kartikeyakirar Jan 8, 2024
02092d6
clean up documentation for calls_combine_by
Jan 8, 2024
6486ff7
update classes vignette
Jan 8, 2024
d0f819a
Update images@pre release cleanup@main (#513)
gogonzo Jan 8, 2024
423b73d
removing old rd syntax
kartikeyakirar Jan 11, 2024
cc7a424
title case to sentence case.
kartikeyakirar Jan 11, 2024
2c31719
merge back from main
kartikeyakirar Jan 11, 2024
f84ea11
pkgdown sentence cases
kartikeyakirar Jan 11, 2024
eacd7b7
516 `topological_sort` (#520)
chlebowa Jan 12, 2024
719bc6d
519 remove `get_teal_bs_theme` (#522)
chlebowa Jan 15, 2024
c959e46
adding internal example (#521)
kartikeyakirar Jan 15, 2024
7c9b7f6
Merge c959e46567454d723dd36bc408d04616c776c024 into ea691771d192535bb…
kartikeyakirar Jan 15, 2024
67d739e
[skip actions] Restyle files
github-actions[bot] Jan 15, 2024
8a38158
attempt at restyling docs
Jan 15, 2024
ab957cb
Merge 8a381583f9a739f6f5079a27f98a9557364ab4fd into ea691771d192535bb…
kartikeyakirar Jan 15, 2024
7f20ed8
[skip actions] Restyle files
github-actions[bot] Jan 15, 2024
78c42f3
'trigger'
kartikeyakirar Jan 15, 2024
e4930ab
[skip actions] Roxygen Man Pages Auto Update
dependabot-preview[bot] Jan 15, 2024
278da81
'trigger'
kartikeyakirar Jan 15, 2024
806ad2c
1033 drop support for list filter (#517)
chlebowa Jan 15, 2024
a8e59aa
modify parameter `state` description
kartikeyakirar Jan 15, 2024
cf7e96c
Merge branch 'pre-release-cleanup@main' of https://github.com/insight…
kartikeyakirar Jan 15, 2024
72cda8c
fix docs
Jan 15, 2024
f0e2082
fix docs
Jan 15, 2024
8126c44
typo on error message
averissimo Jan 15, 2024
9d0c789
Enables `indentation_linter` rule (#525)
averissimo Jan 17, 2024
aa6e774
inheriting the document.
kartikeyakirar Jan 17, 2024
99e53e5
Merge branch 'pre-release-cleanup@main' of https://github.com/insight…
kartikeyakirar Jan 17, 2024
3220aac
Skip tests/examples when packages in Suggest section are not installe…
averissimo Jan 17, 2024
3b2bf1e
[skip actions] Roxygen Man Pages Auto Update
dependabot-preview[bot] Jan 17, 2024
11f3daa
empty commit to trigger CI
averissimo Jan 17, 2024
9a650f7
fix: adds package on data call
averissimo Jan 17, 2024
511ede2
revert previous change and corrects typo on example
averissimo Jan 17, 2024
63855c1
refining tags in documentation (#524)
kartikeyakirar Jan 19, 2024
84e83a0
Update R/FilterPanelAPI.R
chlebowa Jan 23, 2024
b2e1578
[skip actions] Roxygen Man Pages Auto Update
dependabot-preview[bot] Jan 23, 2024
6ca9e70
update roxygen note in DESCRIPTION
Jan 23, 2024
3abc45d
Update R/FilteredData.R
kartikeyakirar Jan 23, 2024
0ef4e5a
[skip actions] Roxygen Man Pages Auto Update
dependabot-preview[bot] Jan 23, 2024
cd00a51
updating document and adding repo url
kartikeyakirar Jan 23, 2024
6600926
Merge branch 'pre-release-cleanup@main' of https://github.com/insight…
kartikeyakirar Jan 23, 2024
83e8393
fixing lintr
kartikeyakirar Jan 23, 2024
88507b0
removing duplicate getNamespace call.
kartikeyakirar Jan 24, 2024
14f1415
quoting date with backticks
kartikeyakirar Jan 24, 2024
95ced22
removing object from param
kartikeyakirar Jan 24, 2024
0f073f3
removing shiny library call
kartikeyakirar Jan 24, 2024
2d2a9fc
adding backtik quoting shiny, R and [pkg]
kartikeyakirar Jan 24, 2024
5ecbaa9
531 warning in example@pre release cleanup@main (#532)
gogonzo Jan 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
donyunardi marked this conversation as resolved.
Show resolved Hide resolved
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.
3 changes: 2 additions & 1 deletion .lintr
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
linters: linters_with_defaults(
line_length_linter = line_length_linter(120),
cyclocomp_linter = NULL,
object_usage_linter = NULL
object_usage_linter = NULL,
indentation_linter = NULL
averissimo marked this conversation as resolved.
Show resolved Hide resolved
)
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
### Bug fixes

* Fixed an error where the `RangeFilterState` produced an error when using `bootstrap 4`.
* Fixed a bug that caused the range slider to omit values selected programmatically through the filter API.
chlebowa marked this conversation as resolved.
Show resolved Hide resolved
* Fixed a bug that caused the range slider to omit values selected via filter API.
kartikeyakirar marked this conversation as resolved.
Show resolved Hide resolved
* Fixed a bug where setting incorrect values for Date and Date time ranges caused the app to crash.

### Miscellaneous
Expand Down
2 changes: 1 addition & 1 deletion R/FilterPanelAPI.R
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#'
#' @examples
#' library(teal.slice)
chlebowa marked this conversation as resolved.
Show resolved Hide resolved
#' fd <- teal.slice::init_filtered_data(list(iris = list(dataset = iris)))
#' fd <- init_filtered_data(list(iris = list(dataset = iris)))
#' fpa <- FilterPanelAPI$new(fd)
#'
#' # get the actual filter state --> empty named list
Expand Down
37 changes: 1 addition & 36 deletions R/FilterState-utils.R
m7pr marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -19,37 +19,8 @@
#' }
#' @param ... additional arguments to be saved as a list in `private$extras` field
#'
#' @keywords internal
#'
#' @examples
#' filter_state <- teal.slice:::init_filter_state(
#' x = c(1:10, NA, Inf),
#' x_reactive = reactive(c(1:10, NA, Inf)),
#' slice = teal_slice(
#' varname = "x",
#' dataname = "dataname"
#' ),
#' extract_type = "matrix"
#' )
#'
#' shiny::isolate(filter_state$get_call())
#' app <- shinyApp(
#' ui = fluidPage(
#' filter_state$ui(id = "app"),
#' verbatimTextOutput("call")
#' ),
#' server = function(input, output, session) {
#' filter_state$server("app")
#'
#' output$call <- renderText(
#' deparse1(filter_state$get_call(), collapse = "\n")
#' )
#' }
#' )
#' if (interactive()) {
#' shinyApp(app$ui, app$server)
#' }
#' @return `FilterState` object
#' @keywords internal
init_filter_state <- function(x,
x_reactive = reactive(NULL),
slice,
Expand Down Expand Up @@ -239,12 +210,6 @@ init_filter_state_expr <- function(slice) {
#' set to NULL to omit adding the alpha channel
#'
#' @return Named `character(1)` containing a hexadecimal color representation.
#'
#' @examples
#' teal.slice:::fetch_bs_color("primary")
#' teal.slice:::fetch_bs_color("danger", 0.35)
#' teal.slice:::fetch_bs_color("danger", "80")
#'
#' @keywords internal
#'
fetch_bs_color <- function(color, alpha = NULL) {
Expand Down
98 changes: 0 additions & 98 deletions R/FilterStateChoices.R
chlebowa marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -4,104 +4,6 @@
#' @docType class
#' @keywords internal
#'
#'
#' @examples
#' filter_state <- teal.slice:::ChoicesFilterState$new(
#' x = c(LETTERS, NA),
#' slice = teal_slice(varname = "x", dataname = "data")
#' )
#' shiny::isolate(filter_state$get_call())
m7pr marked this conversation as resolved.
Show resolved Hide resolved
#' filter_state$set_state(
#' teal_slice(
#' dataname = "data",
#' varname = "x",
#' selected = "A",
#' keep_na = TRUE
#' )
#' )
#' shiny::isolate(filter_state$get_call())
#'
#' # working filter in an app
#' library(shiny)
#' library(shinyjs)
#'
#' data_choices <- c(sample(letters[1:4], 100, replace = TRUE), NA)
#' attr(data_choices, "label") <- "lowercase letters"
#' fs <- teal.slice:::ChoicesFilterState$new(
#' x = data_choices,
#' slice = teal_slice(
#' dataname = "data", varname = "variable", selected = c("a", "c"), keep_na = TRUE
#' )
#' )
#'
#' ui <- fluidPage(
#' useShinyjs(),
#' teal.slice:::include_css_files(pattern = "filter-panel"),
#' teal.slice:::include_js_files(pattern = "count-bar-labels"),
#' column(4, div(
#' h4("ChoicesFilterState"),
#' fs$ui("fs")
#' )),
#' column(4, div(
#' h4("Condition (i.e. call)"), # display the subsetting call generated by this FilterState
#' textOutput("condition_choices"), br(),
#' h4("Unformatted state"), # display raw filter state
#' textOutput("unformatted_choices"), br(),
#' h4("Formatted state"), # display human readable filter state
#' textOutput("formatted_choices"), br()
#' )),
#' column(4, div(
#' h4("Programmatic filter control"),
#' actionButton("button1_choices", "set drop NA", width = "100%"), br(),
#' actionButton("button2_choices", "set keep NA", width = "100%"), br(),
#' actionButton("button3_choices", "set selection: a, b", width = "100%"), br(),
#' actionButton("button4_choices", "deselect all", width = "100%"), br(),
#' actionButton("button0_choices", "set initial state", width = "100%"), br()
#' ))
#' )
#'
#' server <- function(input, output, session) {
#' fs$server("fs")
#' output$condition_choices <- renderPrint(fs$get_call())
#' output$formatted_choices <- renderText(fs$format())
#' output$unformatted_choices <- renderPrint(fs$get_state())
#' # modify filter state programmatically
#' observeEvent(
#' input$button1_choices,
#' fs$set_state(
#' teal_slice(dataname = "data", varname = "variable", keep_na = FALSE)
#' )
#' )
#' observeEvent(
#' input$button2_choices,
#' fs$set_state(
#' teal_slice(dataname = "data", varname = "variable", keep_na = TRUE)
#' )
#' )
#' observeEvent(
#' input$button3_choices,
#' fs$set_state(
#' teal_slice(dataname = "data", varname = "variable", selected = c("a", "b"))
#' )
#' )
#' observeEvent(
#' input$button4_choices,
#' fs$set_state(
#' teal_slice(dataname = "data", varname = "variable", selected = character(0), keep_na = TRUE)
#' )
#' )
#' observeEvent(
#' input$button0_choices,
#' fs$set_state(
#' teal_slice(dataname = "data", varname = "variable", selected = c("a", "c"), keep_na = TRUE)
#' )
#' )
#' }
#'
#' if (interactive()) {
#' shinyApp(ui, server)
#' }
#'
ChoicesFilterState <- R6::R6Class( # nolint
"ChoicesFilterState",
inherit = FilterState,
Expand Down
Loading