From 046dfd5c719aaa821cab2f7244dac01966d859d3 Mon Sep 17 00:00:00 2001 From: Julien Chiquet Date: Thu, 6 Mar 2025 14:27:48 +0100 Subject: [PATCH] CI + basic fixes for CRAN checks --- .Rbuildignore | 1 + .github/.gitignore | 1 + .github/workflows/R-CMD-check.yaml | 51 ++++++++++++++++++++++++++++++ DESCRIPTION | 3 +- R/zbernoulli_covariates.R | 2 +- R/zbernoulli_covariates_fast.R | 2 +- R/zgaussian_covariates.R | 2 +- R/zpoisson_covariates.R | 2 +- README.md | 27 ++++++++++++++++ blockmodels.Rproj | 1 + 10 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 .github/.gitignore create mode 100644 .github/workflows/R-CMD-check.yaml create mode 100644 README.md diff --git a/.Rbuildignore b/.Rbuildignore index 756aa67..2e35e62 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -5,3 +5,4 @@ HOWTO_WRITE_A_MODEL mkpkg$ orig$ LICENSE +^\.github$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.github/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml new file mode 100644 index 0000000..562fe0f --- /dev/null +++ b/.github/workflows/R-CMD-check.yaml @@ -0,0 +1,51 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: [main, master] + pull_request: + +name: R-CMD-check.yaml + +permissions: read-all + +jobs: + R-CMD-check: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + strategy: + fail-fast: false + matrix: + config: + - {os: macos-latest, r: 'release'} + - {os: windows-latest, r: 'release'} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} + + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + + steps: + - uses: actions/checkout@v4 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.config.r }} + http-user-agent: ${{ matrix.config.http-user-agent }} + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check + + - uses: r-lib/actions/check-r-package@v2 + with: + upload-snapshots: true + build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' diff --git a/DESCRIPTION b/DESCRIPTION index 2c2f8ae..51d9a23 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -12,11 +12,12 @@ Description: Latent and Stochastic Block Model estimation by a Variational EM al License: LGPL-2.1 Depends: R (>= 3.4.0) LinkingTo: Rcpp, RcppArmadillo -RoxygenNote: 7.1.1 +RoxygenNote: 7.3.2 Imports: Rcpp, parallel, methods, digest +Encoding: UTF-8 URL: https://github.com/jb-leger/blockmodels BugReports: https://github.com/jb-leger/blockmodels/issues diff --git a/R/zbernoulli_covariates.R b/R/zbernoulli_covariates.R index eaf23ca..6ea8aa3 100644 --- a/R/zbernoulli_covariates.R +++ b/R/zbernoulli_covariates.R @@ -5,7 +5,7 @@ BM_bernoulli_covariates <- setRefClass("BM_bernoulli_covariates", methods = list( initialize = function(membership_type,adj,covariates,...) { - if(class(covariates)=="matrix") + if (is.matrix(covariates)) { covariates_list <- list(covariates) } diff --git a/R/zbernoulli_covariates_fast.R b/R/zbernoulli_covariates_fast.R index f5b6475..bcf8fd8 100644 --- a/R/zbernoulli_covariates_fast.R +++ b/R/zbernoulli_covariates_fast.R @@ -5,7 +5,7 @@ BM_bernoulli_covariates_fast <- setRefClass("BM_bernoulli_covariates_fast", methods = list( initialize = function(membership_type,adj,covariates,...) { - if(class(covariates)=="matrix") + if (is.matrix(covariates)) { covariates_list <- list(covariates) } diff --git a/R/zgaussian_covariates.R b/R/zgaussian_covariates.R index ef978e1..6e47207 100644 --- a/R/zgaussian_covariates.R +++ b/R/zgaussian_covariates.R @@ -4,7 +4,7 @@ BM_gaussian_covariates <- setRefClass("BM_gaussian_covariates", methods = list( initialize = function(membership_type,adj,covariates,...) { - if(class(covariates)=="matrix") + if (is.matrix(covariates)) { covariates_list <- list(covariates) } diff --git a/R/zpoisson_covariates.R b/R/zpoisson_covariates.R index 9aa0fe0..4213a37 100644 --- a/R/zpoisson_covariates.R +++ b/R/zpoisson_covariates.R @@ -4,7 +4,7 @@ BM_poisson_covariates <- setRefClass("BM_poisson_covariates", methods = list( initialize = function(membership_type,adj,covariates,...) { - if(class(covariates)=="matrix") + if(is.matrix(covariates)) { covariates_list <- list(covariates) } diff --git a/README.md b/README.md new file mode 100644 index 0000000..87f6a06 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ + +# blockmodels + + +[![R-CMD-check](https://github.com/GrossSBM/blockmodels/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/GrossSBM/blockmodels/actions/workflows/R-CMD-check.yaml) + + +The goal of blockmodels is to ... + +## Installation + +You can install the development version of blockmodels from [GitHub](https://github.com/) with: + +``` r +# install.packages("pak") +pak::pak("GrossSBM/blockmodels") +``` + +## Example + +This is a basic example which shows you how to solve a common problem: + +``` r +library(blockmodels) +## basic example code +``` + diff --git a/blockmodels.Rproj b/blockmodels.Rproj index 4a4e498..52494e3 100644 --- a/blockmodels.Rproj +++ b/blockmodels.Rproj @@ -1,4 +1,5 @@ Version: 1.0 +ProjectId: c95d3751-b2ba-4d9c-a9a4-891738f8f0b2 RestoreWorkspace: Default SaveWorkspace: Default