From 913ea88f8604ae7b54775be34a6e472e67731aeb Mon Sep 17 00:00:00 2001 From: osenan Date: Fri, 5 Dec 2025 11:54:00 -0300 Subject: [PATCH 01/20] docs: Add more documentation on how to reproduce code with side effects functions --- vignettes/qenv.Rmd | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/vignettes/qenv.Rmd b/vignettes/qenv.Rmd index 0a16b9fd3..86fe0fc6e 100644 --- a/vignettes/qenv.Rmd +++ b/vignettes/qenv.Rmd @@ -185,6 +185,38 @@ if (interactive()) { } ``` +### Reproducibility + +Code inside a `qenv` can be reproduced by calling function `get_code` +```{r, get_code} +q_reproducible <- qenv() +q_reproducible <- within(q_reproducible, { + a <- 2 + b <- 5 + c <- a + b +}) +cat(get_code(q_reproducible)) +cat(get_code(q_reproducible, names = "a")) +cat(get_code(q_reproducible, names = "c")) +``` + +As shown, we can get the code for specific objects by referencing the name of the object with the `names` argument +in `get_code`. +In the scenarios where we have specific objects that are affected by side effects of previous calls, it can be +passed to the qenv by adding # @linksto + the name of the object that is linked. This is important for setting options +or controling random number generation. + +```{r, get_code_linked} +q_linked <- qenv() +q_linked <- eval_code(q_reproducible, " + set.seed(2) # @linksto a + a <- runif(1) +") +cat(get_code(q_linked)) +cat(get_code(q_linked, names = "a")) +``` +Linking of objects for reproducibility is currently only supported by `eval_code`. As `within` uses expression as input +and ignores comments, it is not recommended in the cases where side effects functions are required for reproducibility. ## `qenv` and `teal` applications From eb903f8076450a1caedeeff062c6e1b5c6218053 Mon Sep 17 00:00:00 2001 From: osenan Date: Mon, 8 Dec 2025 23:01:42 -0300 Subject: [PATCH 02/20] docs: add more documentation on side effects for within --- R/qenv-within.R | 3 +++ 1 file changed, 3 insertions(+) diff --git a/R/qenv-within.R b/R/qenv-within.R index 951c22736..4b8e8535b 100644 --- a/R/qenv-within.R +++ b/R/qenv-within.R @@ -3,6 +3,9 @@ #' `within()` is a convenience method that wraps `eval_code` to provide a simplified way of passing expression. #' `within` accepts only inline expressions (both simple and compound) and allows to substitute `expr` #' with `...` named argument values. +#' Functions that trigger side effects like `options` or `set.seed` cannot be linked to specific objects with +#' tag "# @linksto" as expressions ignore comments. This is relevant when we want to reproduce the code with +#' function `get_code`. For such scenarios, we recommend to use `eval_code` instead. #' #' @section Using language objects with `within`: #' Passing language objects to `expr` is generally not intended but can be achieved with `do.call`. From e057502f0d234f7f47432e0db092a085b505f961 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 02:07:07 +0000 Subject: [PATCH 03/20] [skip roxygen] [skip vbump] Roxygen Man Pages Auto Update --- man/within.qenv.Rd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/man/within.qenv.Rd b/man/within.qenv.Rd index a4f2237c6..ddc5fb973 100644 --- a/man/within.qenv.Rd +++ b/man/within.qenv.Rd @@ -21,6 +21,9 @@ Evaluate code in \code{qenv} \code{within()} is a convenience method that wraps \code{eval_code} to provide a simplified way of passing expression. \code{within} accepts only inline expressions (both simple and compound) and allows to substitute \code{expr} with \code{...} named argument values. +Functions that trigger side effects like \code{options} or \code{set.seed} cannot be linked to specific objects with +tag "# @linksto" as expressions ignore comments. This is relevant when we want to reproduce the code with +function \code{get_code}. For such scenarios, we recommend to use \code{eval_code} instead. } \section{Using language objects with \code{within}}{ From e0231fd7b65268e0fd175ac78895a3db79be4452 Mon Sep 17 00:00:00 2001 From: osenan Date: Mon, 8 Dec 2025 23:13:29 -0300 Subject: [PATCH 04/20] fix: remove spelling errors --- R/qenv-within.R | 2 +- vignettes/qenv.Rmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/qenv-within.R b/R/qenv-within.R index 4b8e8535b..2232ee7dc 100644 --- a/R/qenv-within.R +++ b/R/qenv-within.R @@ -4,7 +4,7 @@ #' `within` accepts only inline expressions (both simple and compound) and allows to substitute `expr` #' with `...` named argument values. #' Functions that trigger side effects like `options` or `set.seed` cannot be linked to specific objects with -#' tag "# @linksto" as expressions ignore comments. This is relevant when we want to reproduce the code with +#' tag "`# @linksto`" as expressions ignore comments. This is relevant when we want to reproduce the code with #' function `get_code`. For such scenarios, we recommend to use `eval_code` instead. #' #' @section Using language objects with `within`: diff --git a/vignettes/qenv.Rmd b/vignettes/qenv.Rmd index 86fe0fc6e..8460c2a4b 100644 --- a/vignettes/qenv.Rmd +++ b/vignettes/qenv.Rmd @@ -204,7 +204,7 @@ As shown, we can get the code for specific objects by referencing the name of th in `get_code`. In the scenarios where we have specific objects that are affected by side effects of previous calls, it can be passed to the qenv by adding # @linksto + the name of the object that is linked. This is important for setting options -or controling random number generation. +or controlling random number generation. ```{r, get_code_linked} q_linked <- qenv() From 02a487fec8624b0f84ddc0f273190e0bc8b91234 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 02:17:51 +0000 Subject: [PATCH 05/20] [skip roxygen] [skip vbump] Roxygen Man Pages Auto Update --- man/within.qenv.Rd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/within.qenv.Rd b/man/within.qenv.Rd index ddc5fb973..1aa20fa97 100644 --- a/man/within.qenv.Rd +++ b/man/within.qenv.Rd @@ -22,7 +22,7 @@ Evaluate code in \code{qenv} \code{within} accepts only inline expressions (both simple and compound) and allows to substitute \code{expr} with \code{...} named argument values. Functions that trigger side effects like \code{options} or \code{set.seed} cannot be linked to specific objects with -tag "# @linksto" as expressions ignore comments. This is relevant when we want to reproduce the code with +tag "\verb{# @linksto}" as expressions ignore comments. This is relevant when we want to reproduce the code with function \code{get_code}. For such scenarios, we recommend to use \code{eval_code} instead. } \section{Using language objects with \code{within}}{ From c86ae57d76b04079e5cfe2da33fa1422e347246d Mon Sep 17 00:00:00 2001 From: osenan Date: Mon, 8 Dec 2025 23:18:54 -0300 Subject: [PATCH 06/20] fix: remove spelling errors --- R/qenv-within.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/qenv-within.R b/R/qenv-within.R index 2232ee7dc..7ec817fd8 100644 --- a/R/qenv-within.R +++ b/R/qenv-within.R @@ -4,7 +4,7 @@ #' `within` accepts only inline expressions (both simple and compound) and allows to substitute `expr` #' with `...` named argument values. #' Functions that trigger side effects like `options` or `set.seed` cannot be linked to specific objects with -#' tag "`# @linksto`" as expressions ignore comments. This is relevant when we want to reproduce the code with +#' tag "`# @linksto `" as expressions ignore comments. This is relevant when we want to reproduce the code with #' function `get_code`. For such scenarios, we recommend to use `eval_code` instead. #' #' @section Using language objects with `within`: From 0b45d6ec855c4ffb03a0990a10affb1a50da12c4 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 02:23:33 +0000 Subject: [PATCH 07/20] [skip roxygen] [skip vbump] Roxygen Man Pages Auto Update --- man/within.qenv.Rd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/within.qenv.Rd b/man/within.qenv.Rd index 1aa20fa97..2f4c136c1 100644 --- a/man/within.qenv.Rd +++ b/man/within.qenv.Rd @@ -22,7 +22,7 @@ Evaluate code in \code{qenv} \code{within} accepts only inline expressions (both simple and compound) and allows to substitute \code{expr} with \code{...} named argument values. Functions that trigger side effects like \code{options} or \code{set.seed} cannot be linked to specific objects with -tag "\verb{# @linksto}" as expressions ignore comments. This is relevant when we want to reproduce the code with +tag "\verb{# @linksto }" as expressions ignore comments. This is relevant when we want to reproduce the code with function \code{get_code}. For such scenarios, we recommend to use \code{eval_code} instead. } \section{Using language objects with \code{within}}{ From 7275bf0b874e96e7911b682c1417c97bdec17ce9 Mon Sep 17 00:00:00 2001 From: osenan Date: Mon, 8 Dec 2025 23:24:48 -0300 Subject: [PATCH 08/20] chore: fix lintr --- R/qenv-within.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/qenv-within.R b/R/qenv-within.R index 7ec817fd8..26ddb8d56 100644 --- a/R/qenv-within.R +++ b/R/qenv-within.R @@ -4,7 +4,8 @@ #' `within` accepts only inline expressions (both simple and compound) and allows to substitute `expr` #' with `...` named argument values. #' Functions that trigger side effects like `options` or `set.seed` cannot be linked to specific objects with -#' tag "`# @linksto `" as expressions ignore comments. This is relevant when we want to reproduce the code with +#' tag "`# @linksto `" as expressions ignore comments. This is relevant when we want +#' to reproduce the code with #' function `get_code`. For such scenarios, we recommend to use `eval_code` instead. #' #' @section Using language objects with `within`: From b65fee1409f01feceb32a05caca0de41628390b3 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 02:29:17 +0000 Subject: [PATCH 09/20] [skip roxygen] [skip vbump] Roxygen Man Pages Auto Update --- man/within.qenv.Rd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/man/within.qenv.Rd b/man/within.qenv.Rd index 2f4c136c1..5c4f65788 100644 --- a/man/within.qenv.Rd +++ b/man/within.qenv.Rd @@ -22,7 +22,8 @@ Evaluate code in \code{qenv} \code{within} accepts only inline expressions (both simple and compound) and allows to substitute \code{expr} with \code{...} named argument values. Functions that trigger side effects like \code{options} or \code{set.seed} cannot be linked to specific objects with -tag "\verb{# @linksto }" as expressions ignore comments. This is relevant when we want to reproduce the code with +tag "\verb{# @linksto }" as expressions ignore comments. This is relevant when we want +to reproduce the code with function \code{get_code}. For such scenarios, we recommend to use \code{eval_code} instead. } \section{Using language objects with \code{within}}{ From 4bacccf787f67941de35371b554cd85b89ab9c5f Mon Sep 17 00:00:00 2001 From: Oriol Senan <35930244+osenan@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:08:02 -0300 Subject: [PATCH 10/20] Update vignettes/qenv.Rmd Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com> Signed-off-by: Oriol Senan <35930244+osenan@users.noreply.github.com> --- vignettes/qenv.Rmd | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vignettes/qenv.Rmd b/vignettes/qenv.Rmd index 8460c2a4b..2ccbe23c8 100644 --- a/vignettes/qenv.Rmd +++ b/vignettes/qenv.Rmd @@ -200,8 +200,7 @@ cat(get_code(q_reproducible, names = "a")) cat(get_code(q_reproducible, names = "c")) ``` -As shown, we can get the code for specific objects by referencing the name of the object with the `names` argument -in `get_code`. +As demonstrated, you can retrieve the code responsible for creating specific objects by passing the object's name to the `names` argument in `get_code`. In the scenarios where we have specific objects that are affected by side effects of previous calls, it can be passed to the qenv by adding # @linksto + the name of the object that is linked. This is important for setting options or controlling random number generation. From f865fc56887ad0db728fe35369f25e945120a7a1 Mon Sep 17 00:00:00 2001 From: Oriol Senan <35930244+osenan@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:08:32 -0300 Subject: [PATCH 11/20] Update vignettes/qenv.Rmd Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com> Signed-off-by: Oriol Senan <35930244+osenan@users.noreply.github.com> --- vignettes/qenv.Rmd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vignettes/qenv.Rmd b/vignettes/qenv.Rmd index 2ccbe23c8..612490a84 100644 --- a/vignettes/qenv.Rmd +++ b/vignettes/qenv.Rmd @@ -201,9 +201,7 @@ cat(get_code(q_reproducible, names = "c")) ``` As demonstrated, you can retrieve the code responsible for creating specific objects by passing the object's name to the `names` argument in `get_code`. -In the scenarios where we have specific objects that are affected by side effects of previous calls, it can be -passed to the qenv by adding # @linksto + the name of the object that is linked. This is important for setting options -or controlling random number generation. +In scenarios where certain objects are **affected by side effects** (such as setting options or controlling random number generation) from previous calls, this dependency can be specified in the `qenv`. You achieve this by adding the comment `# @linksto` followed by the name of the linked object. ```{r, get_code_linked} q_linked <- qenv() From 528671373a2984537f44a8351560c719d90bd0d5 Mon Sep 17 00:00:00 2001 From: Oriol Senan <35930244+osenan@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:09:17 -0300 Subject: [PATCH 12/20] Update vignettes/qenv.Rmd Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com> Signed-off-by: Oriol Senan <35930244+osenan@users.noreply.github.com> --- vignettes/qenv.Rmd | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vignettes/qenv.Rmd b/vignettes/qenv.Rmd index 612490a84..1d70c92c1 100644 --- a/vignettes/qenv.Rmd +++ b/vignettes/qenv.Rmd @@ -212,8 +212,7 @@ q_linked <- eval_code(q_reproducible, " cat(get_code(q_linked)) cat(get_code(q_linked, names = "a")) ``` -Linking of objects for reproducibility is currently only supported by `eval_code`. As `within` uses expression as input -and ignores comments, it is not recommended in the cases where side effects functions are required for reproducibility. +Currently, object linking for reproducibility is only supported by the `eval_code` function. Since `within` uses an expression as input and ignores comments, its use is **not recommended** when side-effect functions are required for full reproducibility. ## `qenv` and `teal` applications From 96c49f6ca8d45bd84dcc8da225fc249b1a49f74f Mon Sep 17 00:00:00 2001 From: Oriol Senan <35930244+osenan@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:09:46 -0300 Subject: [PATCH 13/20] Update vignettes/qenv.Rmd Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com> Signed-off-by: Oriol Senan <35930244+osenan@users.noreply.github.com> --- vignettes/qenv.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/qenv.Rmd b/vignettes/qenv.Rmd index 1d70c92c1..5f088a7fe 100644 --- a/vignettes/qenv.Rmd +++ b/vignettes/qenv.Rmd @@ -187,7 +187,7 @@ if (interactive()) { ### Reproducibility -Code inside a `qenv` can be reproduced by calling function `get_code` +The code inside a `qenv` object can be retrieved using `get_code` function. ```{r, get_code} q_reproducible <- qenv() q_reproducible <- within(q_reproducible, { From cde9043ad127f364b37aee142a18735ef26033a7 Mon Sep 17 00:00:00 2001 From: Oriol Senan <35930244+osenan@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:10:00 -0300 Subject: [PATCH 14/20] Update R/qenv-within.R Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com> Signed-off-by: Oriol Senan <35930244+osenan@users.noreply.github.com> --- R/qenv-within.R | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/R/qenv-within.R b/R/qenv-within.R index 26ddb8d56..f97387241 100644 --- a/R/qenv-within.R +++ b/R/qenv-within.R @@ -3,10 +3,7 @@ #' `within()` is a convenience method that wraps `eval_code` to provide a simplified way of passing expression. #' `within` accepts only inline expressions (both simple and compound) and allows to substitute `expr` #' with `...` named argument values. -#' Functions that trigger side effects like `options` or `set.seed` cannot be linked to specific objects with -#' tag "`# @linksto `" as expressions ignore comments. This is relevant when we want -#' to reproduce the code with -#' function `get_code`. For such scenarios, we recommend to use `eval_code` instead. +#' Functions that trigger side effects like `options` or `set.seed` can be linked to specific objects for further code retrieval (with `get_code`), but only through `eval_code` where code input as `character`. `within` works on `expressions` that do not preserve comments, hence you can not use `# @linksto` tag explained in `get_code`. #' #' @section Using language objects with `within`: #' Passing language objects to `expr` is generally not intended but can be achieved with `do.call`. From c3c0a7b422c53bd33156ad3b0f3f03ab7488bcd8 Mon Sep 17 00:00:00 2001 From: Oriol Senan <35930244+osenan@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:10:16 -0300 Subject: [PATCH 15/20] Update R/qenv-within.R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: LluĂ­s Revilla <185338939+llrs-roche@users.noreply.github.com> Signed-off-by: Oriol Senan <35930244+osenan@users.noreply.github.com> --- R/qenv-within.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/qenv-within.R b/R/qenv-within.R index f97387241..9e229d38c 100644 --- a/R/qenv-within.R +++ b/R/qenv-within.R @@ -4,7 +4,7 @@ #' `within` accepts only inline expressions (both simple and compound) and allows to substitute `expr` #' with `...` named argument values. #' Functions that trigger side effects like `options` or `set.seed` can be linked to specific objects for further code retrieval (with `get_code`), but only through `eval_code` where code input as `character`. `within` works on `expressions` that do not preserve comments, hence you can not use `# @linksto` tag explained in `get_code`. -#' +#' @alias within #' @section Using language objects with `within`: #' Passing language objects to `expr` is generally not intended but can be achieved with `do.call`. #' Only single `expression`s will work and substitution is not available. See examples. From 0acddc2a027464d977f80df4a7d8292d86d6ae3d Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 14:14:27 +0000 Subject: [PATCH 16/20] [skip roxygen] [skip vbump] Roxygen Man Pages Auto Update --- man/within.qenv.Rd | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/man/within.qenv.Rd b/man/within.qenv.Rd index 5c4f65788..6a2b1937b 100644 --- a/man/within.qenv.Rd +++ b/man/within.qenv.Rd @@ -21,10 +21,7 @@ Evaluate code in \code{qenv} \code{within()} is a convenience method that wraps \code{eval_code} to provide a simplified way of passing expression. \code{within} accepts only inline expressions (both simple and compound) and allows to substitute \code{expr} with \code{...} named argument values. -Functions that trigger side effects like \code{options} or \code{set.seed} cannot be linked to specific objects with -tag "\verb{# @linksto }" as expressions ignore comments. This is relevant when we want -to reproduce the code with -function \code{get_code}. For such scenarios, we recommend to use \code{eval_code} instead. +Functions that trigger side effects like \code{options} or \code{set.seed} can be linked to specific objects for further code retrieval (with \code{get_code}), but only through \code{eval_code} where code input as \code{character}. \code{within} works on \code{expressions} that do not preserve comments, hence you can not use \verb{# @linksto} tag explained in \code{get_code}. } \section{Using language objects with \code{within}}{ From 87b98f42946277752b4d5d459df676555b329fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= <185338939+llrs-roche@users.noreply.github.com> Date: Thu, 11 Dec 2025 10:57:53 +0100 Subject: [PATCH 17/20] Set expectation when no code is used with qenv (#274) # Pull Request Document expectation of what should return `qenv` with no code. Discovered while working on https://github.com/insightsengineering/teal/pull/1630 where some code assumed it would return `NULL`. Previously it was only tested that `testthat::expect_identical(get_code(qenv(), names = "a"), "")`. It makes sense that it also return `""` when there is no code. --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- tests/testthat/test-qenv_get_code.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-qenv_get_code.R b/tests/testthat/test-qenv_get_code.R index 282c72869..f888f97e3 100644 --- a/tests/testthat/test-qenv_get_code.R +++ b/tests/testthat/test-qenv_get_code.R @@ -1,5 +1,9 @@ pasten <<- function(...) paste(..., collapse = "\n") +testthat::test_that("get_code returns character of length 0 if no code", { + expect_identical(get_code(qenv()), "") +}) + testthat::test_that("get_code returns code (character(1) by default) of qenv object", { q <- qenv() q <- eval_code(q, quote(x <- 1)) @@ -732,7 +736,6 @@ testthat::test_that("understands @ usage and do not treat rhs of @ as objects (o }) - # libraries ------------------------------------------------------------------------------------------------------- testthat::test_that("library() and require() are always returned", { From e390d01e4753bf2e4db70603ebb54858abcd563f Mon Sep 17 00:00:00 2001 From: llrs-roche <185338939+llrs-roche@users.noreply.github.com> Date: Thu, 11 Dec 2025 09:58:42 +0000 Subject: [PATCH 18/20] [skip actions] Bump version to 0.7.0.9003 --- .pre-commit-config.yaml | 2 +- DESCRIPTION | 4 ++-- NEWS.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0bc583f1f..99fe2cf45 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ default_language_version: python: python3 repos: - repo: https://github.com/lorenzwalthert/precommit - rev: v0.4.3.9015 + rev: v0.4.3.9017 hooks: - id: style-files name: Style code with `styler` diff --git a/DESCRIPTION b/DESCRIPTION index 6457998b9..0648ce2e1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Type: Package Package: teal.code Title: Code Storage and Execution Class for 'teal' Applications -Version: 0.7.0.9002 -Date: 2025-10-31 +Version: 0.7.0.9003 +Date: 2025-12-11 Authors@R: c( person("Dawid", "Kaledkowski", , "dawid.kaledkowski@roche.com", role = c("aut", "cre")), person("Aleksander", "Chlebowski", , "aleksander.chlebowski@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index 8de09eef1..37ba3a75a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# teal.code 0.7.0.9002 +# teal.code 0.7.0.9003 # teal.code 0.7.0 From bb79db7c5f1212840a1b636e82468ceeb014b3fd Mon Sep 17 00:00:00 2001 From: Marcin <133694481+m7pr@users.noreply.github.com> Date: Fri, 12 Dec 2025 14:30:00 +0100 Subject: [PATCH 19/20] Add copilot-setup-steps workflow (#281) Add copilot-setup-steps workflow using the reusable template from r.pkg.template. --------- Signed-off-by: Marcin <133694481+m7pr@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- .github/workflows/copilot-setup-steps.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/workflows/copilot-setup-steps.yml diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 000000000..ce3e530b8 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,11 @@ +--- +name: Copilot Agent Setup + +on: + workflow_dispatch: + +jobs: + copilot-setup-steps: + name: Copilot Agent Setup + uses: insightsengineering/r.pkg.template/.github/workflows/copilot-setup-steps.yaml@main + From 461a63c2d27b10ef1c6a5d05ca45b4092f165ef2 Mon Sep 17 00:00:00 2001 From: m7pr <133694481+m7pr@users.noreply.github.com> Date: Fri, 12 Dec 2025 13:30:48 +0000 Subject: [PATCH 20/20] [skip actions] Bump version to 0.7.0.9004 --- DESCRIPTION | 4 ++-- NEWS.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 0648ce2e1..4674d3777 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Type: Package Package: teal.code Title: Code Storage and Execution Class for 'teal' Applications -Version: 0.7.0.9003 -Date: 2025-12-11 +Version: 0.7.0.9004 +Date: 2025-12-12 Authors@R: c( person("Dawid", "Kaledkowski", , "dawid.kaledkowski@roche.com", role = c("aut", "cre")), person("Aleksander", "Chlebowski", , "aleksander.chlebowski@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index 37ba3a75a..423a34343 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# teal.code 0.7.0.9003 +# teal.code 0.7.0.9004 # teal.code 0.7.0