Skip to content

fix: update snapshot, bump R minimum to 4.1, modernize GHA workflows - #152

Merged
IndrajeetPatil merged 6 commits into
mainfrom
fix/ci-failures
Mar 29, 2026
Merged

fix: update snapshot, bump R minimum to 4.1, modernize GHA workflows#152
IndrajeetPatil merged 6 commits into
mainfrom
fix/ci-failures

Conversation

@IndrajeetPatil

Copy link
Copy Markdown
Collaborator

Summary

This PR fixes the failing CI workflows and modernizes the GitHub Actions setup.

Root Cause

ggplot2 updated geom_bar's internal layer data structure, adding two new columns (order and width) and reordering colour before linewidth. The stored snapshot in test-geom_signific_strict.R was comparing against the old structure, causing all R-CMD-check matrix jobs (R ≥ 4.1) and the test-coverage workflow to fail.

Changes

🐛 Fix: Snapshot update

  • tests/testthat/_snaps/geom_signific_strict.md: Update [[1]] (geom_bar layer data) to match the new ggplot2 column layout — added order (integer, layer draw order) and width columns; colour now precedes linewidth.

📦 Minimum R version

  • DESCRIPTION: Bump R (>= 3.6.0)R (>= 4.1.0), aligning with ggplot2 ≥ 3.5.0's own dependency.

🔧 R-CMD-check matrix

  • .github/workflows/check-full.yaml: Remove R 3.6 and R 4.0 matrix entries (below new minimum). R 4.1 remains as the lowest tested version.

⚡ GHA Node.js 24 readiness (deadline: June 2, 2026)

  • Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true to the env: section of all four workflow files to opt in to Node.js 24 for action runners and eliminate the deprecation warnings.

🔒 Test-coverage stability

  • .github/workflows/test-coverage.yaml: Switch extra-packages: r-lib/covr (GitHub dev version) → extra-packages: any::covr (CRAN stable release).

IndrajeetPatil and others added 4 commits March 29, 2026 08:00
- Update geom_signific_strict snapshot to match new ggplot2 geom_bar
  layer data structure (added 'order' and 'width' columns; reordered
  'colour' before 'linewidth')
- Bump R minimum version from 3.6.0 to 4.1.0 in DESCRIPTION, aligning
  with ggplot2 >= 3.5.0's own requirement
- Remove R 3.6 and R 4.0 from the R-CMD-check matrix (below new minimum)
- Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true to all workflow envs to
  silence Node.js 20 deprecation warnings ahead of the June 2026 deadline
- Switch covr source from r-lib/covr (GitHub dev) to any::covr (CRAN)
  in test-coverage workflow for better stability

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
R CMD CHECK now warns on unrecognized person() comment fields.
Twitter is no longer a supported field; removing the entries
eliminates those warnings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
RoxygenNote bumped from 7.3.1 to 7.3.3 and Rd files regenerated
to reflect the removal of Twitter author comment fields.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace hardcoded R versions (4.1, 4.2, 4.3) with oldrel-1 through
  oldrel-4, mirroring r-lib/lintr; versions now auto-track as new R
  releases land without needing manual workflow updates
- Remove redundant Windows devel/oldrel entries (covered by ubuntu)
- Add concurrency group to cancel stale runs on new pushes
- Add http-user-agent: release for devel to use stable package binaries
- Upgrade actions/checkout v4 -> v6 (Node.js 24 native; drops need for
  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@IndrajeetPatil
IndrajeetPatil marked this pull request as ready for review March 29, 2026 06:12
Copilot AI review requested due to automatic review settings March 29, 2026 06:12

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates package metadata and CI configuration to restore passing workflows after upstream ggplot2 changes, while raising the minimum supported R version and modernizing GitHub Actions setup.

Changes:

  • Update a testthat snapshot to match ggplot2’s updated geom_bar layer data columns.
  • Bump minimum R version to 4.1 and refresh roxygen metadata.
  • Modernize GitHub Actions workflows (matrix adjustments, Node 24 opt-in, stabilize covr dependency).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/testthat/_snaps/geom_signific_strict.md Refreshes stored snapshot output to match ggplot2’s new layer data structure.
man/stat_signif.Rd Updates parameter documentation text (position/stat/show.legend/inherit.aes).
man/ggsignif-package.Rd Removes social handle text from author/maintainer display.
DESCRIPTION Raises minimum R version to 4.1; removes Twitter fields from Authors@R; bumps RoxygenNote.
.github/workflows/check-full.yaml Updates R-CMD-check matrix and adds concurrency settings; changes checkout action version.
.github/workflows/test-coverage.yaml Pins covr to CRAN (any::covr) and opts into Node 24.
.github/workflows/pkgdown.yaml Opts into Node 24 for the pkgdown build/deploy workflow.
.github/workflows/lint.yml Opts into Node 24 for the lint workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread man/stat_signif.Rd Outdated
Comment thread .github/workflows/check-full.yaml
Comment thread .github/workflows/check-full.yaml Outdated
- Replace checkout@v6 with checkout@v4 in check-full.yaml for consistency
- Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true to check-full.yaml env
- Replace oldrel-4 with pinned '4.1' to avoid drifting below minimum R version
- Fix show.legend docs: remove inaccurate levels-related statements

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@IndrajeetPatil IndrajeetPatil left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review! I've addressed all three comments in commit 8f8dae3:

  1. check-full.yaml - checkout@v6 and missing FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: Downgraded to actions/checkout@v4 for consistency with all other workflows, and added FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true to the env: block.

  2. check-full.yaml - oldrel-4 drift risk: Replaced oldrel-4 with the pinned '4.1' as suggested, eliminating the risk of the matrix entry drifting below the minimum R version.

  3. man/stat_signif.Rd - show.legend docs: Reverted to standard ggplot2-style wording, removing the inaccurate level-related statements.

Graphics engine changes in R-devel can cause snapshot mismatches
unrelated to the package logic. Skip all snapshot tests (expect_snapshot
and vdiffr::expect_doppelganger) when running on R-devel.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@codecov-commenter

codecov-commenter commented Mar 29, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.12%. Comparing base (080e119) to head (ec6bd22).
⚠️ Report is 7 commits behind head on main.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #152   +/-   ##
=======================================
  Coverage   95.12%   95.12%           
=======================================
  Files           2        2           
  Lines          82       82           
=======================================
  Hits           78       78           
  Misses          4        4           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@IndrajeetPatil
IndrajeetPatil merged commit 55f411c into main Mar 29, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants