Skip to content

refactor(setup-r-deps): delegate spatial setup to install-spatial-deps - #25

Merged
eliotmcintire merged 1 commit into
mainfrom
refactor/setup-r-deps-uses-install-spatial-deps
Aug 31, 2026
Merged

refactor(setup-r-deps): delegate spatial setup to install-spatial-deps#25
eliotmcintire merged 1 commit into
mainfrom
refactor/setup-r-deps-uses-install-spatial-deps

Conversation

@eliotmcintire

Copy link
Copy Markdown
Contributor

Follow-up to #24, which could not include this: pre-merge, install-spatial-deps@main was still the copy carrying the ubuntugis PPA and lacking the version assertion, so wiring setup-r-deps to it would have made the self-test exercise stale spatial code.

What

setup-r-deps had its own copy of the apt/brew/PROJ_DATA logic that install-spatial-deps already implements. It now calls the action instead. 250 → 201 lines.

That duplication is precisely how the ubuntugis PPA survived in install-spatial-deps for months after the reusable workflows had rejected it — and why the removal in #24 had to be written twice.

Why the full name, not ./install-spatial-deps

Inside a composite action a relative uses: resolves against GITHUB_WORKSPACE — the calling repository's checkout. ./install-spatial-deps would therefore work only when the caller happens to be this repo, and break every real consumer.

Worth flagging that the self-test cannot catch this: there the workspace is this repo, so both resolutions coincide. It is a footgun the CI is structurally blind to, hence the comment in the file.

Carried along

  • Ports setup-r-deps' stronger timeout --kill-after=60s into the surviving copy, so the dedup loses nothing.
  • Drops the now-obsolete "verified identical by inspection" caveat from the self-test's Linux-only justification. The setup-r-deps (macOS) leg now exercises this action's macOS branch directly, so there is one implementation rather than two that happen to match.

Known limitation

Because setup-r-deps references the action at @main, the setup-r-deps legs test main's copy, not the branch's. Changes to install-spatial-deps are covered by its own job, which uses the local path.

🤖 Generated with Claude Code

https://claude.ai/code/session_012DVjmY3im9Xak7tXLSMGCa

The two actions carried two copies of the same apt/brew/PROJ_DATA logic. That
duplication is exactly how the ubuntugis PPA survived in install-spatial-deps
for months after the reusable workflows had rejected it, and it meant the PPA
removal in #24 had to be written twice. One implementation now.

Referenced as PredictiveEcology/actions/install-spatial-deps@main rather than
./install-spatial-deps: inside a composite action a relative `uses:` resolves
against GITHUB_WORKSPACE -- the CALLING repository's checkout -- so the relative
form works only when the caller happens to be this repo and breaks every real
consumer. The self-test cannot catch that, since there the workspace is this
repo and both resolutions coincide.

This could not go in #24: pre-merge, @main was still the copy with the PPA and
without the version assertion, so the self-test would have exercised stale
spatial code and likely failed on the ABI mismatch #24 removes.

setup-r-deps: 250 -> 201 lines. Ports setup-r-deps' stronger
`timeout --kill-after=60s` into the surviving copy so nothing is lost, and drops
the now-obsolete "verified identical by inspection" caveat in the self-test.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012DVjmY3im9Xak7tXLSMGCa
@eliotmcintire
eliotmcintire merged commit 0823338 into main Aug 31, 2026
10 checks passed
This was referenced Aug 31, 2026
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.

1 participant