From 9feb7083b3e8171a96de8ee7dfb893b5b9b7b636 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 15:30:10 -0500 Subject: [PATCH 01/16] ci: add gha workflows from MOSuite --- .github/CONTRIBUTING.md | 288 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.yml | 45 ++++ .github/ISSUE_TEMPLATE/config.yml | 4 + .github/ISSUE_TEMPLATE/feature_request.yml | 11 + .github/PULL_REQUEST_TEMPLATE.md | 24 ++ .github/workflows/R-CMD-check.yaml | 85 ++++++ .github/workflows/test-coverage.yaml | 58 +++++ .github/workflows/user-projects.yml | 23 ++ 8 files changed, 538 insertions(+) create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/R-CMD-check.yaml create mode 100644 .github/workflows/test-coverage.yaml create mode 100644 .github/workflows/user-projects.yml diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..875ae87 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,288 @@ +# Contributing to SCWorkflow + +## Proposing changes with issues + +If you want to make a change, it's a good idea to first +[open an issue](https://code-review.tidyverse.org/issues/) +and make sure someone from the team agrees that it’s needed. + +If you've decided to work on an issue, +[assign yourself to the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users#assigning-an-individual-issue-or-pull-request) +so others will know you're working on it. + +## Pull request process + +We use [GitHub Flow](https://docs.github.com/en/get-started/using-github/github-flow) +as our collaboration process. +Follow the steps below for detailed instructions on contributing changes to +SCWorkflow. + +![GitHub Flow diagram](https://raw.githubusercontent.com/CCBR/CCBR_NextflowTemplate/main/.github/img/GitHub-Flow_bg-white.png) + + +### Clone the repo + +If you are a member of [CCBR](https://github.com/CCBR), +you can clone this repository to your computer or development environment. +Otherwise, you will first need to +[fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) +the repo and clone your fork. You only need to do this step once. + +```sh +git clone https://github.com/CCBR/SCWorkflow +``` + +> Cloning into 'SCWorkflow'...
+> remote: Enumerating objects: 1136, done.
+> remote: Counting objects: 100% (463/463), done.
+> remote: Compressing objects: 100% (357/357), done.
+> remote: Total 1136 (delta 149), reused 332 (delta 103), pack-reused 673
+> Receiving objects: 100% (1136/1136), 11.01 MiB | 9.76 MiB/s, done.
+> Resolving deltas: 100% (530/530), done.
+ +```sh +cd SCWorkflow +``` + +### If this is your first time cloning the repo, install dependencies + +- In an R console, install the R development dependencies with + `devtools::install_dev_deps()`, and then make sure the package passes R CMD + check by running `devtools::check()`. If R CMD check doesn't pass cleanly, + it's a good idea to ask for help before continuing. + +- Install [`pre-commit`](https://pre-commit.com/#install) if you don't already + have it. Then from the repo's root directory, run + + ```sh + pre-commit install + ``` + + This will install the repo's pre-commit hooks. + You'll only need to do this step the first time you clone the repo. + +### Create a branch + + Create a Git branch for your pull request (PR). Give the branch a descriptive + name for the changes you will make, such as `iss-10` if it is for a specific + issue. + + ```sh + # create a new branch and switch to it + git branch iss-10 + git switch iss-10 + ``` + + > Switched to a new branch 'iss-10' + +### Make your changes + +Edit the code, write unit tests, and update the documentation as needed. + +#### style + +New code should follow the [tidyverse style guide](https://style.tidyverse.org). +You can use the [styler](https://CRAN.R-project.org/package=styler) package to +apply these styles, but please don't restyle code that has nothing to do with +your PR. + +A brief overview of conventions according to the tidyverse style guide: + +- most object names (variables and functions) should be in [snake_case](https://style.tidyverse.org/syntax.html#sec-objectnames) +- function names should use [verbs](https://style.tidyverse.org/functions.html#naming) where possible +- use `<-` for assignment +- use [pipes](https://style.tidyverse.org/pipes.html) to chain operations on a single object + +Please see the [tidyverse style guide](https://style.tidyverse.org) for more details. + +#### test + +Most changes to the code will also need unit tests to demonstrate that the +changes work as intended. +Use [`testthat`](https://testthat.r-lib.org/) to create your unit tests and test +the code. +Test files are organized as described in +. +Take a look at the existing code in this package for examples. + +#### document + +If you have written a new function or changed the API of an existing function, +you will need to update the function's documentation using +[roxygen2](https://cran.r-project.org/package=roxygen2) with +[Markdown syntax](https://roxygen2.r-lib.org/articles/rd-formatting.html). +See instructions on writing roxygen2 comments here: +. +If the function is used in a vignette, you may also need to update the vignette. + +#### check + +After making your changes, run `devtools::check()` from an R console to make +sure the package still passes R CMD check. + +### Commit and push your changes + +If you're not sure how often you should commit or what your commits should +consist of, we recommend following the "atomic commits" principle where each +commit contains one new feature, fix, or task. +Learn more about atomic commits here: + + +First, add the files that you changed to the staging area: + +```sh +git add path/to/changed/files/ +``` + +Then make the commit. +Your commit message should follow the +[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) +specification. +Briefly, each commit should start with one of the approved types such as +`feat`, `fix`, `docs`, etc. followed by a description of the commit. +Take a look at the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/#summary) +for more detailed information about how to write commit messages. + + +```sh +git commit -m 'feat: create function for awesome feature' +``` + +pre-commit will enforce that your commit message and the code changes are +styled correctly and will attempt to make corrections if needed. + +> Check for added large files..............................................Passed
+> Fix End of Files.........................................................Passed
+> Trim Trailing Whitespace.................................................Failed
+> - hook id: trailing-whitespace
+> - exit code: 1
+> - files were modified by this hook
+>
+> Fixing path/to/changed/files/file.txt
+>
+> codespell................................................................Passed
+> style-files..........................................(no files to check)Skipped
+> readme-rmd-rendered..................................(no files to check)Skipped
+> use-tidy-description.................................(no files to check)Skipped
+ +In the example above, one of the hooks modified a file in the proposed commit, +so the pre-commit check failed. You can run `git diff` to see the changes that +pre-commit made and `git status` to see which files were modified. To proceed +with the commit, re-add the modified file(s) and re-run the commit command: + +```sh +git add path/to/changed/files/file.txt +git commit -m 'feat: create function for awesome feature' +``` + +This time, all the hooks either passed or were skipped +(e.g. hooks that only run on R code will not run if no R files were +committed). +When the pre-commit check is successful, the usual commit success message +will appear after the pre-commit messages showing that the commit was created. + +> Check for added large files..............................................Passed
+> Fix End of Files.........................................................Passed
+> Trim Trailing Whitespace.................................................Passed
+> codespell................................................................Passed
+> style-files..........................................(no files to check)Skipped
+> readme-rmd-rendered..................................(no files to check)Skipped
+> use-tidy-description.................................(no files to check)Skipped
+> Conventional Commit......................................................Passed
+> [iss-10 9ff256e] feat: create function for awesome feature
+> 1 file changed, 22 insertions(+), 3 deletions(-)
+ +Finally, push your changes to GitHub: + +```sh +git push +``` + +If this is the first time you are pushing this branch, you may have to +explicitly set the upstream branch: + +```sh +git push --set-upstream origin iss-10 +``` + +> Enumerating objects: 7, done.
+> Counting objects: 100% (7/7), done.
+> Delta compression using up to 10 threads
+> Compressing objects: 100% (4/4), done.
+> Writing objects: 100% (4/4), 648 bytes | 648.00 KiB/s, done.
+> Total 4 (delta 3), reused 0 (delta 0), pack-reused 0
+> remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
+> remote:
+> remote: Create a pull request for 'iss-10' on GitHub by visiting:
+> remote: https://github.com/CCBR/SCWorkflow/pull/new/iss-10
+> remote:
+> To https://github.com/CCBR/SCWorkflow
+>
+> [new branch] iss-10 -> iss-10
+> branch 'iss-10' set up to track 'origin/iss-10'.
+ +We recommend pushing your commits often so they will be backed up on GitHub. +You can view the files in your branch on GitHub at +`https://github.com/CCBR/SCWorkflow/tree/` +(replace `` with the actual name of your branch). + +### Create the PR + +Once your branch is ready, create a PR on GitHub: + + +Select the branch you just pushed: + +![Create a new PR from your branch](https://raw.githubusercontent.com/CCBR/CCBR_NextflowTemplate/main/.github/img/new-PR.png) + +Edit the PR title and description. +The title should briefly describe the change. +Follow the comments in the template to fill out the body of the PR, and +you can delete the comments (everything between ``) as you go. +When you're ready, click 'Create pull request' to open it. + +![Open the PR after editing the title and description](https://raw.githubusercontent.com/CCBR/CCBR_NextflowTemplate/main/.github/img/create-PR.png) + +Optionally, you can mark the PR as a draft if you're not yet ready for it to +be reviewed, then change it later when you're ready. + +### Wait for a maintainer to review your PR + +We will do our best to follow the tidyverse code review principles: +. +The reviewer may suggest that you make changes before accepting your PR in +order to improve the code quality or style. +If that's the case, continue to make changes in your branch and push them to +GitHub, and they will appear in the PR. + +Once the PR is approved, the maintainer will merge it and the issue(s) the PR +links will close automatically. +Congratulations and thank you for your contribution! + +### After your PR has been merged + +After your PR has been merged, update your local clone of the repo by +switching to the main branch and pulling the latest changes: + +```sh +git checkout main +git pull +``` + +It's a good idea to run `git pull` before creating a new branch so it will +start from the most recent commits in main. + +## Helpful links for more information + +- This contributing guide was adapted from the [tidyverse contributing guide](https://github.com/tidyverse/tidyverse/blob/main/.github/CONTRIBUTING.md) +- [GitHub Flow](https://docs.github.com/en/get-started/using-github/github-flow) +- [tidyverse style guide](https://style.tidyverse.org) +- [tidyverse code review principles](https://code-review.tidyverse.org) +- [reproducible examples](https://www.tidyverse.org/help/#reprex) +- [R packages book](https://r-pkgs.org/) +- packages: + - [usethis](https://usethis.r-lib.org/) + - [devtools](https://devtools.r-lib.org/) + - [testthat](https://testthat.r-lib.org/) + - [styler](https://styler.r-lib.org/) + - [roxygen2](https://roxygen2.r-lib.org) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..95c98d1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,45 @@ +name: Bug report +description: Report something that is broken or incorrect +labels: bug +body: + - type: markdown + attributes: + value: | + Before you submit this issue, please check the documentation: + + - type: textarea + id: description + attributes: + label: Description of the bug + description: A clear and concise description of what the bug is. + validations: + required: true + + - type: textarea + id: reprex + attributes: + label: Code and output + description: Please include a minimal reproducible example (AKA a reprex). If you've never heard of a [reprex](http://reprex.tidyverse.org/) before, start by reading . + render: console + placeholder: | + library(SCWorkflow) + ... insert_your_code_here() ... + + Paste some output where something broke + + - type: textarea + id: files + attributes: + label: Relevant files + description: | + Please drag and drop any relevant files here if applicable. Create a `.zip` archive if the extension is not allowed. + + - type: textarea + id: system + attributes: + label: System information + description: | + * Version of R + * Version of CCBR/SCWorkflow + * OS _(eg. Ubuntu Linux, macOS)_ + * Hardware _(eg. HPC, Desktop)_ diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..84f8757 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,4 @@ +contact_links: + - name: Discussions + url: https://github.com/CCBR/SCWorkflow/discussions + about: Please ask and answer questions here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..73a08f5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,11 @@ +name: Feature request +description: Suggest an idea for the package +labels: enhancement +body: + - type: textarea + id: description + attributes: + label: Description of feature + description: Please describe your suggestion for a new feature. It might help to describe a problem or use case, plus any alternatives that you have considered. + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..bc679fa --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,24 @@ +## Changes + + + +## Issues + + + +## PR Checklist + +(~Strikethrough~ any points that are not applicable.) + +- [ ] This comment contains a description of changes with justifications, with any relevant issues linked. +- [ ] Write unit tests for any new features, bug fixes, or other code changes. +- [ ] Update the docs if there are any API changes (roxygen2 comments, vignettes, readme, etc.). +- [ ] Update `NEWS.md` with a short description of any user-facing changes and reference the PR number. Follow the style described in +- [ ] Run `devtools::check()` locally and fix all notes, warnings, and errors. diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml new file mode 100644 index 0000000..9bae4b4 --- /dev/null +++ b/.github/workflows/R-CMD-check.yaml @@ -0,0 +1,85 @@ +# 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: + branches: [main, master] + workflow_dispatch: + +name: R-CMD-check + +permissions: + contents: read + pull-requests: read + +jobs: + R-CMD-check: + + strategy: + fail-fast: false + matrix: + config: + - { os: ubuntu-latest, r: 'release' } + - { os: ubuntu-latest, r: 'oldrel-1' } + - { os: macos-latest, r: 'release' } + + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + + steps: + - uses: actions/checkout@v4 + + - uses: CCBR/actions/install-r-pak@main + with: + versions-file: .github/package-versions.txt + extra-packages: local::. + needs: dev + r-version: ${{ matrix.config.r }} + http-user-agent: ${{ matrix.config.http-user-agent }} + + - uses: r-lib/actions/check-r-package@v2 + with: + upload-snapshots: true + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: CCBR/actions/install-r-pak@main + with: + r-version: 4.4 + versions-file: .github/package-versions.txt + needs: dev + + - name: Good Practice checks + shell: Rscript {0} + run: | + g <- goodpractice::gp() + g + n_failed <- length(goodpractice::failed_checks(g)) + if (n_failed > 0) { + warning(paste(n_failed, "failed checks")) + } + + - name: Lint + shell: Rscript {0} + run: lintr::lint_package() + env: + LINTR_ERROR_ON_LINT: false + + check: # make sure all check jobs pass. https://github.com/orgs/community/discussions/4324#discussioncomment-3477871 + runs-on: ubuntu-latest + needs: [R-CMD-check, lint] + if: always() + steps: + - name: Successful build + if: ${{ !(contains(needs.*.result, 'failure')) }} + run: exit 0 + - name: Failing build + if: ${{ contains(needs.*.result, 'failure') }} + run: exit 1 diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml new file mode 100644 index 0000000..0d48214 --- /dev/null +++ b/.github/workflows/test-coverage.yaml @@ -0,0 +1,58 @@ +# 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: + branches: [main, master] + +name: test-coverage + +permissions: read-all + +jobs: + test-coverage: + runs-on: ubuntu-latest + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + + steps: + - uses: actions/checkout@v4 + + - uses: CCBR/actions/install-r-pak@main + with: + r-version: 4.4 + versions-file: .github/package-versions.txt + needs: dev + + - name: Test coverage + run: | + cov <- covr::package_coverage( + quiet = FALSE, + clean = FALSE, + install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") + ) + covr::to_cobertura(cov) + shell: Rscript {0} + + - uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} + file: ./cobertura.xml + plugin: noop + disable_search: true + token: ${{ secrets.CODECOV_TOKEN }} + + - name: Show testthat output + if: always() + run: | + ## -------------------------------------------------------------------- + find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true + shell: bash + + - name: Upload test results + if: failure() + uses: actions/upload-artifact@v4 + with: + name: coverage-test-failures + path: ${{ runner.temp }}/package diff --git a/.github/workflows/user-projects.yml b/.github/workflows/user-projects.yml new file mode 100644 index 0000000..c189ef6 --- /dev/null +++ b/.github/workflows/user-projects.yml @@ -0,0 +1,23 @@ +name: user-projects + +on: + issues: + types: + - assigned + pull_request: + types: + - assigned + +permissions: + issues: write + pull-requests: write + +jobs: + add-to-project: + runs-on: ubuntu-latest + steps: + - uses: CCBR/actions/user-projects@main + with: + app-id: ${{ vars.CCBR_BOT_APP_ID }} + app-private-key: ${{ secrets.CCBR_BOT_PRIVATE_KEY }} + token-owner: "CCBR" From d28169515d44562c7f8fde4a5245da9e4bce649b Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 15:34:06 -0500 Subject: [PATCH 02/16] ci: run on dev branches --- .github/workflows/R-CMD-check.yaml | 4 ++-- .github/workflows/test-coverage.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 9bae4b4..5c4f3f3 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -2,9 +2,9 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, master] + branches: [main, master, dev, DEV] pull_request: - branches: [main, master] + branches: [main, master, dev, DEV] workflow_dispatch: name: R-CMD-check diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 0d48214..fc851f7 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -2,9 +2,9 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, master] + branches: [main, master, dev, DEV] pull_request: - branches: [main, master] + branches: [main, master, dev, DEV] name: test-coverage From e4d28ef6ca47229af9f431564d6e787ad79036db Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 15:51:03 -0500 Subject: [PATCH 03/16] ci: force R version 4.1.3 --- .github/workflows/R-CMD-check.yaml | 8 ++++---- .github/workflows/pkgdown.yaml | 2 +- .github/workflows/test-coverage.yaml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 5c4f3f3..9a97fff 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -20,9 +20,9 @@ jobs: fail-fast: false matrix: config: - - { os: ubuntu-latest, r: 'release' } - - { os: ubuntu-latest, r: 'oldrel-1' } - - { os: macos-latest, r: 'release' } + - { os: ubuntu-latest, r: '4.1.3' } + #- { os: ubuntu-latest, r: 'oldrel-1' } + #- { os: macos-latest, r: 'release' } runs-on: ${{ matrix.config.os }} name: ${{ matrix.config.os }} (${{ matrix.config.r }}) @@ -52,7 +52,7 @@ jobs: - uses: CCBR/actions/install-r-pak@main with: - r-version: 4.4 + r-version: 4.1.3 versions-file: .github/package-versions.txt needs: dev diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index f9745ba..3f53415 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -31,7 +31,7 @@ jobs: - uses: r-lib/actions/setup-r@v2 with: use-public-rspm: true - r-version: 4.3 + r-version: 4.1.3 - uses: r-lib/actions/setup-r-dependencies@v2 with: diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index fc851f7..4ac1c43 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: - uses: CCBR/actions/install-r-pak@main with: - r-version: 4.4 + r-version: 4.1.3 versions-file: .github/package-versions.txt needs: dev From 55e2dfebff689e03fe192a5f51562ae0455abfae Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 15:53:09 -0500 Subject: [PATCH 04/16] chore: delete pryr from deps --- DESCRIPTION | 1 - 1 file changed, 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index cdf6c35..9c6d5ad 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -46,7 +46,6 @@ Imports: methods (>= 4.1.3), plotly (>= 4.10.0), progressr (>= 0.10.1), - pryr (>= 0.1.5), purrr (>= 0.3.4), quantmod (>= 0.4.20), reshape2 (>= 1.4.4), From e6080c32aa5ce65af5a834e9785b04a2105086ae Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 15:58:06 -0500 Subject: [PATCH 05/16] chore: add dev deps --- DESCRIPTION | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/DESCRIPTION b/DESCRIPTION index 9c6d5ad..1da46e9 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -85,4 +85,11 @@ Imports: tidyr, htmlwidgets, scDblFinder +Suggests: + knitr, + testthat (>= 3.0.0), + rmarkdown, + roxygen2, + usethis Config/testthat/edition: 3 +Config/Needs/dev: cffr, covr, goodpractice, here, lintr, pkgdown, rcmdcheck From f4add3daa5db71a3eb8804a4bb8296acf668b9ce Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:03:10 -0500 Subject: [PATCH 06/16] ci(pkgdown): use custom installation --- .github/workflows/pkgdown.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 3f53415..0459bb7 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -2,7 +2,7 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, master, GalaxyCLI] + branches: [main, master] pull_request: branches: [main, master] release: @@ -26,17 +26,12 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: r-lib/actions/setup-pandoc@v2 - - - uses: r-lib/actions/setup-r@v2 + - uses: CCBR/actions/install-r-pak@main with: - use-public-rspm: true r-version: 4.1.3 - - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - extra-packages: any::pkgdown, local::. - needs: website + versions-file: .github/package-versions.txt + extra-packages: local::. + needs: dev - name: Build site run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE) From 2f2e45b369179e6a57ef7a41dd3d0af89e88e66a Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:03:19 -0500 Subject: [PATCH 07/16] chore: pin seurat & matrix --- .github/package-versions.txt | 2 ++ .gitignore | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 .github/package-versions.txt diff --git a/.github/package-versions.txt b/.github/package-versions.txt new file mode 100644 index 0000000..df0dde1 --- /dev/null +++ b/.github/package-versions.txt @@ -0,0 +1,2 @@ +any::Seurat@4.1.1 +any::Matrix@1.5-1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 55ed9b9..17be9e8 100755 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,3 @@ Rcheck.txt *.pdf tests/testthat/otherData/ .Rproj.user -*.txt From 71e36e7177c54ce3c5d173eaa0b96829cdd63b64 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:05:08 -0500 Subject: [PATCH 08/16] chore: Matrix version with period instead of hyphen --- .github/package-versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/package-versions.txt b/.github/package-versions.txt index df0dde1..81c250e 100644 --- a/.github/package-versions.txt +++ b/.github/package-versions.txt @@ -1,2 +1,2 @@ any::Seurat@4.1.1 -any::Matrix@1.5-1 \ No newline at end of file +any::Matrix@1.5.1 \ No newline at end of file From c9286fbefcf44169235014cc0a4dacb78ea1e876 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:07:52 -0500 Subject: [PATCH 09/16] chore: fix pkg version format --- .github/package-versions.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/package-versions.txt b/.github/package-versions.txt index 81c250e..2facfd9 100644 --- a/.github/package-versions.txt +++ b/.github/package-versions.txt @@ -1,2 +1 @@ -any::Seurat@4.1.1 -any::Matrix@1.5.1 \ No newline at end of file +any::Seurat@4.1.1, any::Matrix@1.5.1 \ No newline at end of file From 62b22beef36bec2aa77bdeea97ac587ea1516e2f Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:11:17 -0500 Subject: [PATCH 10/16] chore: remove duplicate suggests field --- DESCRIPTION | 2 -- 1 file changed, 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1da46e9..7a014cb 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -19,8 +19,6 @@ License: MIT Encoding: UTF-8 Roxygen: list(markdown = TRUE) RoxygenNote: 7.2.3 -Suggests: - testthat (>= 3.0.0) Depends: R (>= 4.0) Imports: From 766bc55c1ed7714c4b7320728c4f131b16fc4540 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:13:18 -0500 Subject: [PATCH 11/16] chore: usethis::use_tidy_description() --- DESCRIPTION | 106 ++++++++++++++++++++++++++++------------------------ 1 file changed, 58 insertions(+), 48 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 7a014cb..3bbcff8 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,93 +1,103 @@ Package: SCWorkflow Title: SCWorkflow from NIDAP Version: 1.0.2 -Authors@R: c(person("Maggie", "Cam", email = "maggie.cam@nih.gov", role = "aut", comment = c(ORCID = "0000-0001-8190-9766")), - person("Thomas", "Meyer", email = "thomas.meyer@nih.gov", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-7185-5597")), - person("Jing", "Bian", email = "bianjh@nih.gov", role = "aut", comment = c(ORCID = "0000-0001-7109-716X")), - person("Alexandra", "Michalowski", email = "michaloa@mail.nih.gov", role = "aut", comment = c(ORCID = "0000-0001-9259-6101")), - person("Alexei", "Lobanov", email = "alexei.lobanov@nih.gov", role = "aut", comment = c(ORCID = "0000-0002-9883-4374")), - person("Philip", "Homan", email = "philip.homan@nih.gov", role = "aut", comment = c(ORCID = "0000-0002-3389-4931")), - person("Rui", "He", email = "rui.he@nih.gov", role = "aut")) -Description: A set of functions for analyzing single-cell RNA-seq data using the - Seurat workflow. The user provides H5 files containing the results of the - upstream processing through CellRanger, and the package functions allow for - the QC, filtering, normalization, annotation, differential gene expression, - and further visualizations and analysis based on user input. This package can - be run both in a docker container and in user-friendly web-based interactive - notebooks (NIDAP, Palantir Foundry). +Authors@R: c( + person("Maggie", "Cam", , "maggie.cam@nih.gov", role = "aut", + comment = c(ORCID = "0000-0001-8190-9766")), + person("Thomas", "Meyer", , "thomas.meyer@nih.gov", role = c("aut", "cre"), + comment = c(ORCID = "0000-0002-7185-5597")), + person("Jing", "Bian", , "bianjh@nih.gov", role = "aut", + comment = c(ORCID = "0000-0001-7109-716X")), + person("Alexandra", "Michalowski", , "michaloa@mail.nih.gov", role = "aut", + comment = c(ORCID = "0000-0001-9259-6101")), + person("Alexei", "Lobanov", , "alexei.lobanov@nih.gov", role = "aut", + comment = c(ORCID = "0000-0002-9883-4374")), + person("Philip", "Homan", , "philip.homan@nih.gov", role = "aut", + comment = c(ORCID = "0000-0002-3389-4931")), + person("Rui", "He", , "rui.he@nih.gov", role = "aut") + ) +Description: A set of functions for analyzing single-cell RNA-seq data + using the Seurat workflow. The user provides H5 files containing the + results of the upstream processing through CellRanger, and the package + functions allow for the QC, filtering, normalization, annotation, + differential gene expression, and further visualizations and analysis + based on user input. This package can be run both in a docker + container and in user-friendly web-based interactive notebooks (NIDAP, + Palantir Foundry). License: MIT -Encoding: UTF-8 -Roxygen: list(markdown = TRUE) -RoxygenNote: 7.2.3 Depends: R (>= 4.0) Imports: anndata (>= 0.7.5.2), + BiocManager, callr (>= 3.7.1), + celldex, + colorspace, + ComplexHeatmap (>= 2.10.0), cowplot (>= 1.1.1), data.table (>= 1.14.2), + dendextend, + dendsort, + digest (>= 0.6.29), dplyr (>= 1.0.9), edgeR (>= 3.36.0), - future.apply (>= 1.9.0), future (>= 1.27.0), + future.apply (>= 1.9.0), gargle (>= 1.2.0), + gdata, + ggExtra, ggplot2 (>= 3.3.6), ggpubr (>= 0.4.0), + ggrepel, globals (>= 0.16.1), + gridBase (>= 0.4-7), + gridExtra (>= 2.3), + gtable (>= 0.3.1), harmony (>= 0.1.1), hdf5r (>= 1.3.5), + htmlwidgets, httpuv (>= 1.6.5), + httr, + jsonlite, leiden (>= 0.4.2), limma (>= 3.50.3), magrittr (>= 2.0.3), markdown (>= 1.1), + MAST (>= 1.20.0), methods (>= 4.1.3), - plotly (>= 4.10.0), + pheatmap, + plotly (>= 4.10.0), + plyr, + png, progressr (>= 0.10.1), purrr (>= 0.3.4), quantmod (>= 0.4.20), + RColorBrewer (>= 1.1-3), reshape2 (>= 1.4.4), reticulate (>= 1.25), rlang (>= 1.0.6), + scales, + scDblFinder, + Seurat (>= 4.1.1), + SingleR (>= 1.8.1), statmod (>= 1.4.37), stringr (>= 1.4.1), svglite (>= 2.1.0), tibble (>= 3.1.8), + tidyr, tidyverse (>= 1.3.2), viridisLite (>= 0.4.0), xfun (>= 0.32), - zip (>= 2.2.0), - ComplexHeatmap (>= 2.10.0), - MAST (>= 1.20.0), - SingleR (>= 1.8.1), - BiocManager, - gridBase (>= 0.4-7), - gridExtra (>= 2.3), - RColorBrewer (>= 1.1-3), - Seurat (>= 4.1.1), - gtable (>= 0.3.1), - digest (>= 0.6.29), - png, - ggExtra, - httr, - jsonlite, - plyr, - colorspace, - dendextend, - dendsort, - pheatmap, - scales, - celldex, - gdata, - ggrepel, - tidyr, - htmlwidgets, - scDblFinder + zip (>= 2.2.0) Suggests: knitr, - testthat (>= 3.0.0), rmarkdown, roxygen2, + testthat (>= 3.0.0), usethis +Config/Needs/dev: cffr, covr, goodpractice, here, lintr, pkgdown, + rcmdcheck Config/testthat/edition: 3 -Config/Needs/dev: cffr, covr, goodpractice, here, lintr, pkgdown, rcmdcheck +Encoding: UTF-8 +Roxygen: list(markdown = TRUE) +RoxygenNote: 7.2.3 From cb473909aa55ffb9f324b5cfac0ac74711eab1f1 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 17 Feb 2026 16:13:33 -0500 Subject: [PATCH 12/16] chore(docker): set R version 4.1.3 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b91c92f..0d61765 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ ENV BUILD_TAG=${BUILD_TAG} ARG REPONAME="000000" ENV REPONAME=${REPONAME} -ARG R_VERSION=4.3.2 +ARG R_VERSION=4.1.3 ENV R_VERSION=${R_VERSION} SHELL ["/bin/bash", "-lc"] From 0f1cfc0b252eacd3508966a1bdafe4e07c05283a Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 18 Feb 2026 12:05:23 -0500 Subject: [PATCH 13/16] ci: use docker container for R deps --- .github/package-versions.txt | 1 - .github/workflows/R-CMD-check.yaml | 15 +++++++-------- .github/workflows/pkgdown.yaml | 7 ++++--- .github/workflows/test-coverage.yaml | 8 +++++--- 4 files changed, 16 insertions(+), 15 deletions(-) delete mode 100644 .github/package-versions.txt diff --git a/.github/package-versions.txt b/.github/package-versions.txt deleted file mode 100644 index 2facfd9..0000000 --- a/.github/package-versions.txt +++ /dev/null @@ -1 +0,0 @@ -any::Seurat@4.1.1, any::Matrix@1.5.1 \ No newline at end of file diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 9a97fff..598b83e 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -13,6 +13,9 @@ permissions: contents: read pull-requests: read +env: + CONTAINER: nciccbr/scworkflow:v1.0.2_79e5d37 + jobs: R-CMD-check: @@ -29,17 +32,14 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes - + container: ${{ env.CONTAINER }} steps: - uses: actions/checkout@v4 - - uses: CCBR/actions/install-r-pak@main + - uses: r-lib/actions/setup-r-dependencies@v2 with: - versions-file: .github/package-versions.txt extra-packages: local::. needs: dev - r-version: ${{ matrix.config.r }} - http-user-agent: ${{ matrix.config.http-user-agent }} - uses: r-lib/actions/check-r-package@v2 with: @@ -47,13 +47,12 @@ jobs: lint: runs-on: ubuntu-latest + container: ${{ env.CONTAINER }} steps: - uses: actions/checkout@v4 - - uses: CCBR/actions/install-r-pak@main + - uses: r-lib/actions/setup-r-dependencies@v2 with: - r-version: 4.1.3 - versions-file: .github/package-versions.txt needs: dev - name: Good Practice checks diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 0459bb7..7657867 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -15,6 +15,9 @@ permissions: contents: write pages: write +env: + CONTAINER: nciccbr/scworkflow:v1.0.2_79e5d37 + jobs: pkgdown: runs-on: ubuntu-latest @@ -26,10 +29,8 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: CCBR/actions/install-r-pak@main + - uses: r-lib/actions/setup-r-dependencies@v2 with: - r-version: 4.1.3 - versions-file: .github/package-versions.txt extra-packages: local::. needs: dev diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 4ac1c43..fddd098 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -10,19 +10,21 @@ name: test-coverage permissions: read-all +env: + CONTAINER: nciccbr/scworkflow:v1.0.2_79e5d37 + jobs: test-coverage: runs-on: ubuntu-latest + container: ${{ env.CONTAINER }} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v4 - - uses: CCBR/actions/install-r-pak@main + - uses: r-lib/actions/setup-r-dependencies@v2 with: - r-version: 4.1.3 - versions-file: .github/package-versions.txt needs: dev - name: Test coverage From 936a47e3e2f337254051a518009d1a0b933f6843 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 18 Feb 2026 12:30:33 -0500 Subject: [PATCH 14/16] ci: consolidate test-coverage into check workflow --- .github/workflows/R-CMD-check.yaml | 50 +++++++++++++++++++---- .github/workflows/test-coverage.yaml | 60 ---------------------------- 2 files changed, 42 insertions(+), 68 deletions(-) delete mode 100644 .github/workflows/test-coverage.yaml diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 598b83e..718c490 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -18,7 +18,6 @@ env: jobs: R-CMD-check: - strategy: fail-fast: false matrix: @@ -26,21 +25,19 @@ jobs: - { os: ubuntu-latest, r: '4.1.3' } #- { os: ubuntu-latest, r: 'oldrel-1' } #- { os: macos-latest, r: 'release' } - runs-on: ${{ matrix.config.os }} name: ${{ matrix.config.os }} (${{ matrix.config.r }}) env: + CONTAINER: ${{ env.CONTAINER }} GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes container: ${{ env.CONTAINER }} steps: - uses: actions/checkout@v4 - - uses: r-lib/actions/setup-r-dependencies@v2 with: extra-packages: local::. needs: dev - - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true @@ -50,11 +47,9 @@ jobs: container: ${{ env.CONTAINER }} steps: - uses: actions/checkout@v4 - - uses: r-lib/actions/setup-r-dependencies@v2 with: needs: dev - - name: Good Practice checks shell: Rscript {0} run: | @@ -64,16 +59,55 @@ jobs: if (n_failed > 0) { warning(paste(n_failed, "failed checks")) } - - name: Lint shell: Rscript {0} run: lintr::lint_package() env: LINTR_ERROR_ON_LINT: false + test-coverage: + runs-on: ubuntu-latest + container: ${{ env.CONTAINER }} + env: + CONTAINER: ${{ env.CONTAINER }} + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v4 + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + needs: dev + - name: Test coverage + run: | + cov <- covr::package_coverage( + quiet = FALSE, + clean = FALSE, + install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") + ) + covr::to_cobertura(cov) + shell: Rscript {0} + - uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} + file: ./cobertura.xml + plugin: noop + disable_search: true + token: ${{ secrets.CODECOV_TOKEN }} + - name: Show testthat output + if: always() + run: | + ## -------------------------------------------------------------------- + find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true + shell: bash + - name: Upload test results + if: failure() + uses: actions/upload-artifact@v4 + with: + name: coverage-test-failures + path: ${{ runner.temp }}/package + check: # make sure all check jobs pass. https://github.com/orgs/community/discussions/4324#discussioncomment-3477871 runs-on: ubuntu-latest - needs: [R-CMD-check, lint] + needs: [R-CMD-check, lint, test-coverage] if: always() steps: - name: Successful build diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml deleted file mode 100644 index fddd098..0000000 --- a/.github/workflows/test-coverage.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# 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, dev, DEV] - pull_request: - branches: [main, master, dev, DEV] - -name: test-coverage - -permissions: read-all - -env: - CONTAINER: nciccbr/scworkflow:v1.0.2_79e5d37 - -jobs: - test-coverage: - runs-on: ubuntu-latest - container: ${{ env.CONTAINER }} - env: - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - - steps: - - uses: actions/checkout@v4 - - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - needs: dev - - - name: Test coverage - run: | - cov <- covr::package_coverage( - quiet = FALSE, - clean = FALSE, - install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") - ) - covr::to_cobertura(cov) - shell: Rscript {0} - - - uses: codecov/codecov-action@v4 - with: - fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} - file: ./cobertura.xml - plugin: noop - disable_search: true - token: ${{ secrets.CODECOV_TOKEN }} - - - name: Show testthat output - if: always() - run: | - ## -------------------------------------------------------------------- - find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true - shell: bash - - - name: Upload test results - if: failure() - uses: actions/upload-artifact@v4 - with: - name: coverage-test-failures - path: ${{ runner.temp }}/package From 9f0eb4e8ebd55d91712e8de74a75278e1e8ace9d Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 18 Feb 2026 12:57:23 -0500 Subject: [PATCH 15/16] ci: fix container image def --- .github/workflows/R-CMD-check.yaml | 13 +++++++------ .github/workflows/pkgdown.yaml | 4 +++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 718c490..ef7fd9b 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -14,7 +14,7 @@ permissions: pull-requests: read env: - CONTAINER: nciccbr/scworkflow:v1.0.2_79e5d37 + CONTAINER_IMAGE: nciccbr/scworkflow:v1.0.2_79e5d37 jobs: R-CMD-check: @@ -28,10 +28,10 @@ jobs: runs-on: ${{ matrix.config.os }} name: ${{ matrix.config.os }} (${{ matrix.config.r }}) env: - CONTAINER: ${{ env.CONTAINER }} GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes - container: ${{ env.CONTAINER }} + container: + image: ${{ env.CONTAINER_IMAGE }} steps: - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r-dependencies@v2 @@ -44,7 +44,8 @@ jobs: lint: runs-on: ubuntu-latest - container: ${{ env.CONTAINER }} + container: + image: ${{ env.CONTAINER_IMAGE }} steps: - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r-dependencies@v2 @@ -67,9 +68,9 @@ jobs: test-coverage: runs-on: ubuntu-latest - container: ${{ env.CONTAINER }} + container: + image: ${{ env.CONTAINER_IMAGE }} env: - CONTAINER: ${{ env.CONTAINER }} GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 7657867..074540c 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -16,7 +16,7 @@ permissions: pages: write env: - CONTAINER: nciccbr/scworkflow:v1.0.2_79e5d37 + CONTAINER_IMAGE: nciccbr/scworkflow:v1.0.2_79e5d37 jobs: pkgdown: @@ -26,6 +26,8 @@ jobs: group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + container: + image: ${{ env.CONTAINER_IMAGE }} steps: - uses: actions/checkout@v3 From b3f61bc23b8f2b12029890ec451ac23301c6f598 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 18 Feb 2026 13:02:29 -0500 Subject: [PATCH 16/16] ci: hard-code container image --- .github/workflows/R-CMD-check.yaml | 17 ++++++++--------- .github/workflows/pkgdown.yaml | 7 ++----- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index ef7fd9b..07d305f 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -13,9 +13,6 @@ permissions: contents: read pull-requests: read -env: - CONTAINER_IMAGE: nciccbr/scworkflow:v1.0.2_79e5d37 - jobs: R-CMD-check: strategy: @@ -30,8 +27,8 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes - container: - image: ${{ env.CONTAINER_IMAGE }} + container: + image: nciccbr/scworkflow:v1.0.2_79e5d37 steps: - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r-dependencies@v2 @@ -44,8 +41,8 @@ jobs: lint: runs-on: ubuntu-latest - container: - image: ${{ env.CONTAINER_IMAGE }} + container: + image: nciccbr/scworkflow:v1.0.2_79e5d37 steps: - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r-dependencies@v2 @@ -68,8 +65,8 @@ jobs: test-coverage: runs-on: ubuntu-latest - container: - image: ${{ env.CONTAINER_IMAGE }} + container: + image: nciccbr/scworkflow:v1.0.2_79e5d37 env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: @@ -108,6 +105,8 @@ jobs: check: # make sure all check jobs pass. https://github.com/orgs/community/discussions/4324#discussioncomment-3477871 runs-on: ubuntu-latest + container: + image: nciccbr/scworkflow:v1.0.2_79e5d37 needs: [R-CMD-check, lint, test-coverage] if: always() steps: diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 074540c..e5b2def 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -15,9 +15,6 @@ permissions: contents: write pages: write -env: - CONTAINER_IMAGE: nciccbr/scworkflow:v1.0.2_79e5d37 - jobs: pkgdown: runs-on: ubuntu-latest @@ -26,8 +23,8 @@ jobs: group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - container: - image: ${{ env.CONTAINER_IMAGE }} + container: + image: nciccbr/scworkflow:v1.0.2_79e5d37 steps: - uses: actions/checkout@v3