Skip to content

fix: remove animint2 pre-install from atime workflow (issue #340)#341

Open
ANAMASGARD wants to merge 3 commits into
masterfrom
fix-atime-baseline-commit-340
Open

fix: remove animint2 pre-install from atime workflow (issue #340)#341
ANAMASGARD wants to merge 3 commits into
masterfrom
fix-atime-baseline-commit-340

Conversation

@ANAMASGARD

Copy link
Copy Markdown
Contributor

Fixes #340

The atime comment job has been failing on every PR that touches R/** because the workflow pre-installed current animint2 before the Autocomment action could install old baseline commits.

Before / after

image

Root cause

This is not a broken baseline commit. Commit 352f7e1 installs fine on its own.

The problem is step order in atime.yaml:

  1. R CMD INSTALL . loads current animint2 into .libPaths (no GeomDotplot since Removed geom_dotplot and replace with error #311).
  2. atime_versions_install later tries to install the Slow baseline as animint2.352f7e1....
  3. That old commit's man/geom_dotplot.Rd has \Sexpr{animint2:::rd_aesthetics(...)} at build time.
  4. R resolves animint2::: to the already-installed current package, not the old tree being built.
  5. Install fails: Error: No geom called GeomDotplot.

The Autocomment action already installs HEAD, merge-base, Slow, and Fast itself (each as animint2.{sha}). The removed step was not just redundant — it caused the collision.

What changed

  • Removed R CMD INSTALL . from .github/workflows/atime.yaml.
  • Added a comment explaining why that step must not return (regression lock).
  • Added .github/workflows/atime.yaml to the workflow paths: filter so this PR triggers and verifies the fix.
  • No change to Slow= / Fast= in .ci/atime/tests.R — those SHAs are still correct for the Fix compiler common check speed for many polygons #238 getCommonChunk comparison.

Why no testthat file

As per contributing guidelines, we do not add tests whose primary purpose is CI infrastructure. The failing comment job is the test; this PR makes it pass. A testthat file that blacklists a SHA would not catch this mechanism if someone re-added the install step.

Pre-installing animint2 before the Autocomment action caused a namespace
collision when atime installed old baseline commits: their man/*.Rd \Sexpr
blocks call animint2:::rd_aesthetics, which resolved to the current package
(no GeomDotplot since #311) instead of the version being built.
The Autocomment action already installs HEAD, merge-base, Slow, and Fast
as animint2.{sha}. Added a comment so the pre-install step is not re-added.
Also trigger this workflow when atime.yaml itself changes, so the fix PR
can verify the comment job passes.
Fixes #340
@codecov

codecov Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.20%. Comparing base (9dce861) to head (6291631).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #341      +/-   ##
==========================================
+ Coverage   73.02%   73.20%   +0.18%     
==========================================
  Files         164      164              
  Lines        8837     8839       +2     
==========================================
+ Hits         6453     6471      +18     
+ Misses       2384     2368      -16     
Flag Coverage Δ
javascript 81.23% <ø> (ø)
r 69.42% <100.00%> (+0.27%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- find_subclass() uses getNamespace(.packageName) instead of bare exists/get
- rd_aesthetics() returns roxygen lines for @eval instead of build-stage \Sexpr
- Replace animint2::: hardcoded \Sexpr in 25 geom/stat docs with @eval
Fixes #340
- animint2_atime_pkg_edit() rewrites animint2::: in cloned Slow/Fast man/*.Rd
  using the versioned package namespace so build-stage \Sexpr can resolve rd_aesthetics
- Add tests for find_subclass() and rd_aesthetics() in test-compiler-utilities.r
Fixes #340
@tdhock

tdhock commented Jun 13, 2026

Copy link
Copy Markdown
Collaborator

No obvious timing issues in HEAD=fix-atime-baseline-commit-340
Comparison Plot

Generated via commit 6291631

Download link for the artifact containing the test results: ↓ atime-results.zip

Task Duration
R setup and installing dependencies 2 minutes and 28 seconds
Installing different package versions 1 minutes and 0 seconds
Running and plotting the test cases 2 minutes and 8 seconds

@ANAMASGARD ANAMASGARD requested a review from tdhock June 13, 2026 08:19
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.

atime CI job fails on every PR due to broken \Sexpr in old baseline commit

2 participants