From 42dd4c0b280d3c4f9206763209faf305645f139c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 22 Jan 2025 11:47:38 +0800 Subject: [PATCH 1/7] Update CI to use r-universe rstan --- .github/workflows/check-standalone.yaml | 27 +++---------------------- .github/workflows/check-standard.yaml | 6 +++--- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/.github/workflows/check-standalone.yaml b/.github/workflows/check-standalone.yaml index 55b09f7..83ba98b 100644 --- a/.github/workflows/check-standalone.yaml +++ b/.github/workflows/check-standalone.yaml @@ -52,7 +52,7 @@ jobs: - name: Install Development StanHeaders and CRAN RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) install.packages('rstan', type='source') shell: Rscript {0} @@ -64,32 +64,11 @@ jobs: - name: Install Development StanHeaders and Development RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) - install.packages("rstan", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) + install.packages("rstan", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) shell: Rscript {0} - name: Check against Development StanHeaders and Development RStan run: | rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") shell: Rscript {0} - - - name: Checkout RStan Experimental branch - uses: actions/checkout@v3 - with: - repository: stan-dev/rstan - ref: experimental - path: rstan - submodules: 'recursive' - - - name: Install Experimental StanHeaders and Experimental RStan - run: | - Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("rstan/StanHeaders", type = "source", repos = NULL) - install.packages("rstan/rstan/rstan", type = "source", repos = NULL) - shell: Rscript {0} - - - name: Check against Experimental StanHeaders and Experimental RStan - run: | - rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") - shell: Rscript {0} - diff --git a/.github/workflows/check-standard.yaml b/.github/workflows/check-standard.yaml index f90fd68..99e9dd0 100644 --- a/.github/workflows/check-standard.yaml +++ b/.github/workflows/check-standard.yaml @@ -50,7 +50,7 @@ jobs: - name: Install Development StanHeaders and CRAN RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) install.packages('rstan', type='source') shell: Rscript {0} @@ -60,8 +60,8 @@ jobs: - name: Install Development StanHeaders and Development RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) - install.packages("rstan", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) + install.packages("rstan", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) shell: Rscript {0} - name: Check against Development StanHeaders and Development RStan From c7af221ee3fb43dd4f19f5a15593c6285f654547 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 8 Dec 2025 14:50:30 -0800 Subject: [PATCH 2/7] Undid GHA changes for cleaner branch update --- .github/workflows/check-standalone.yaml | 27 +++---------------------- .github/workflows/check-standard.yaml | 6 +++--- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/.github/workflows/check-standalone.yaml b/.github/workflows/check-standalone.yaml index 55b09f7..83ba98b 100644 --- a/.github/workflows/check-standalone.yaml +++ b/.github/workflows/check-standalone.yaml @@ -52,7 +52,7 @@ jobs: - name: Install Development StanHeaders and CRAN RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) install.packages('rstan', type='source') shell: Rscript {0} @@ -64,32 +64,11 @@ jobs: - name: Install Development StanHeaders and Development RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) - install.packages("rstan", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) + install.packages("rstan", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) shell: Rscript {0} - name: Check against Development StanHeaders and Development RStan run: | rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") shell: Rscript {0} - - - name: Checkout RStan Experimental branch - uses: actions/checkout@v3 - with: - repository: stan-dev/rstan - ref: experimental - path: rstan - submodules: 'recursive' - - - name: Install Experimental StanHeaders and Experimental RStan - run: | - Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("rstan/StanHeaders", type = "source", repos = NULL) - install.packages("rstan/rstan/rstan", type = "source", repos = NULL) - shell: Rscript {0} - - - name: Check against Experimental StanHeaders and Experimental RStan - run: | - rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") - shell: Rscript {0} - diff --git a/.github/workflows/check-standard.yaml b/.github/workflows/check-standard.yaml index f90fd68..99e9dd0 100644 --- a/.github/workflows/check-standard.yaml +++ b/.github/workflows/check-standard.yaml @@ -50,7 +50,7 @@ jobs: - name: Install Development StanHeaders and CRAN RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) install.packages('rstan', type='source') shell: Rscript {0} @@ -60,8 +60,8 @@ jobs: - name: Install Development StanHeaders and Development RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) - install.packages("rstan", repos = c("https://mc-stan.org/r-packages/", getOption("repos"))) + install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) + install.packages("rstan", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) shell: Rscript {0} - name: Check against Development StanHeaders and Development RStan From 9500ef81b6a8ed592d619d64e098184a724f564e Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 8 Dec 2025 15:06:05 -0800 Subject: [PATCH 3/7] Trying to fix GHA --- .github/workflows/check-standalone.yaml | 25 +++---------------------- .github/workflows/check-standard.yaml | 1 + 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/.github/workflows/check-standalone.yaml b/.github/workflows/check-standalone.yaml index 94eed0a..92ae3d1 100644 --- a/.github/workflows/check-standalone.yaml +++ b/.github/workflows/check-standalone.yaml @@ -35,10 +35,11 @@ jobs: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true + extra-repositories: 'https://stan-dev.r-universe.dev' - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: local::. rcmdcheck BH RcppParallel RcppEigen Rcpp rstan StanHeaders RCurl remotes V8 + extra-packages: local::. rcmdcheck BH RcppParallel RcppEigen Rcpp RCurl remotes V8 - name: Checkout lgpr package run: | @@ -46,6 +47,7 @@ jobs: - name: Check against CRAN StanHeaders and CRAN RStan run: | + install.packages(c("StanHeaders", "rstan")) rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") shell: Rscript {0} @@ -72,24 +74,3 @@ jobs: run: | rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") shell: Rscript {0} - - - name: Checkout RStan Experimental branch - uses: actions/checkout@v6 - with: - repository: stan-dev/rstan - ref: experimental - path: rstan - submodules: 'recursive' - - - name: Install Experimental StanHeaders and Experimental RStan - run: | - Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("rstan/StanHeaders", type = "source", repos = NULL) - install.packages("rstan/rstan/rstan", type = "source", repos = NULL) - shell: Rscript {0} - - - name: Check against Experimental StanHeaders and Experimental RStan - run: | - rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") - shell: Rscript {0} - diff --git a/.github/workflows/check-standard.yaml b/.github/workflows/check-standard.yaml index 8927d27..9cecc9f 100644 --- a/.github/workflows/check-standard.yaml +++ b/.github/workflows/check-standard.yaml @@ -39,6 +39,7 @@ jobs: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true + extra-repositories: 'https://stan-dev.r-universe.dev' - uses: r-lib/actions/setup-r-dependencies@v2 with: From 50de7ae56020cf18cdafb597c5fd31045ed259b6 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 8 Dec 2025 21:42:55 -0800 Subject: [PATCH 4/7] Don't use rspm and specify repositories when installing packages --- .github/workflows/check-standalone.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check-standalone.yaml b/.github/workflows/check-standalone.yaml index 92ae3d1..07138fa 100644 --- a/.github/workflows/check-standalone.yaml +++ b/.github/workflows/check-standalone.yaml @@ -34,7 +34,7 @@ jobs: with: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} - use-public-rspm: true + use-public-rspm: false extra-repositories: 'https://stan-dev.r-universe.dev' - uses: r-lib/actions/setup-r-dependencies@v2 @@ -47,15 +47,18 @@ jobs: - name: Check against CRAN StanHeaders and CRAN RStan run: | - install.packages(c("StanHeaders", "rstan")) + cran <- "https://packagemanager.posit.co/cran/latest" + install.packages(c("StanHeaders", "rstan"), repos = cran) rcmdcheck::rcmdcheck(path = "lgpr", args = c("--no-manual", "--as-cran"), build_args = "--no-manual") shell: Rscript {0} - name: Install Development StanHeaders and CRAN RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) - install.packages('rstan', type='source') + stan_universe <- "https://stan-dev.r-universe.dev" + cran <- "https://packagemanager.posit.co/cran/latest" + install.packages("StanHeaders", repos = stan_universe) + install.packages("rstan", repos = cran, type = "source") shell: Rscript {0} - name: Check against Development StanHeaders and CRAN RStan @@ -66,8 +69,8 @@ jobs: - name: Install Development StanHeaders and Development RStan run: | Sys.setenv(MAKEFLAGS=paste0("-j",parallel::detectCores())) - install.packages("StanHeaders", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) - install.packages("rstan", repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) + stan_universe <- "https://stan-dev.r-universe.dev" + install.packages(c("StanHeaders", "rstan"), repos = stan_universe) shell: Rscript {0} - name: Check against Development StanHeaders and Development RStan From e521743497e0817852c3b80de812c069c8f0f9e7 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 8 Dec 2025 22:03:50 -0800 Subject: [PATCH 5/7] Bump rstan version in description --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 7d27a6f..73f6e57 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -44,7 +44,7 @@ LazyData: true SystemRequirements: pandoc, C++14 Imports: desc, stats, utils, Rcpp (>= 0.12.16), RcppParallel (>= 5.0.1) Suggests: - rstan (>= 2.17.2), + rstan (>= 2.36.0), usethis (>= 1.5.1), testthat (>= 2.0.0), knitr, From e2e076a8e505bd623a9018b1781a064971656181 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Tue, 9 Dec 2025 07:54:05 -0800 Subject: [PATCH 6/7] Bump C++ version to 17 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 73f6e57..a0de159 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -41,7 +41,7 @@ URL: https://mc-stan.org/rstantools/, https://discourse.mc-stan.org/ BugReports: https://github.com/stan-dev/rstantools/issues Encoding: UTF-8 LazyData: true -SystemRequirements: pandoc, C++14 +SystemRequirements: pandoc, C++17 Imports: desc, stats, utils, Rcpp (>= 0.12.16), RcppParallel (>= 5.0.1) Suggests: rstan (>= 2.36.0), From 22a7b8a6f5233dd5a17c9e7c624372fcee8327aa Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Tue, 9 Dec 2025 16:18:29 -0800 Subject: [PATCH 7/7] Actions run on demand too --- .github/workflows/check-standalone.yaml | 1 + .github/workflows/check-standard.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/check-standalone.yaml b/.github/workflows/check-standalone.yaml index 07138fa..9d33afd 100644 --- a/.github/workflows/check-standalone.yaml +++ b/.github/workflows/check-standalone.yaml @@ -5,6 +5,7 @@ on: branches: [main, master] pull_request: branches: [main, master] + workflow_dispatch: name: Stanfunctions Support diff --git a/.github/workflows/check-standard.yaml b/.github/workflows/check-standard.yaml index 9cecc9f..6407c55 100644 --- a/.github/workflows/check-standard.yaml +++ b/.github/workflows/check-standard.yaml @@ -5,6 +5,7 @@ on: branches: [main, master] pull_request: branches: [main, master] + workflow_dispatch: name: R-CMD-check